wiki:WikiStart

Version 2 (modified by hfinkel, 10 years ago) (diff)

--

ALCF's High-Performance CRC64 Library

Description

This library implements a high-performance computation of the 64-bit cyclic-redundancy check (CRC) of arbitrary input data. This implementation requires only a C99 compiler, but has been tuned for the IBM BG/Q supercomputer, and can take advantage of a compiler's OpenMP support to compute the CRC in parallel on multiple cores.

Computing and storing or transmitting the CRC code of data while it is written to disk or transmitted over the network, and then using it to verify the integrity of the data upon read-in or receipt, is a powerful way to guard against data corruption. While modern disks and networks are highly reliable, the rate of corruption from malfunctioning software, hardware and external physical processes remains significant (especially for large data sets).

This implementation uses the ECMA-182 polynomial with -1 initialization, and computes the bit-reversed CRC.

References

Useful references on CRCs: