ZFP: Compressed Floating-Point Arrays for Exascale Computing
Scientific Software Development
TimeWednesday, June 19th8:30am - 8:52am
DescriptionOne of the primary challenges for Exascale computing is overcoming the performance cost of data movement. Through simulation, observation, and experiments, far more data is being generated than can reasonably be stored to disk and later analyzed without any form of data reduction. Moreover, with deepening memory hierarchies and dwindling per-core memory bandwidth due to increasing parallelism, even on-node data motion between RAM and registers makes for a significant performance bottleneck and primary source of power consumption.
zfp is a floating-point array primitive that mitigates this problem using very high-speed, lossy (but optionally error-bounded) compression to significantly reduce data volumes. zfp reduces I/O time and off-line storage by 1-2 orders of magnitude depending on accuracy requirements, as dictated by user-set error tolerances. Unique among data compressors, zfp also supports constant-time read/write random access to individual array elements from compressed storage. zfp's compressed arrays appear to the user like conventional uncompressed arrays and can often be integrated into existing applications with minimal code changes. When used in numerical computations, zfp arrays provide a fine-grained knob on precision while achieving accuracy comparable to IEEE floating point at half the storage, reducing both memory footprint and bandwidth.