SPDP v1.1
SPDP is a compression/decompression algorithm that is tailored towards binary IEEE 754 32bit singleprecision (float) and 64bit doubleprecision (double) floatingpoint data but also works on other data. A compression filter for HDF5 that is based on the SPDP algorithm is available here.
Click on SPDP_11.c to download the source code. A description of the SPDP algorithm is available here. Sample littleendian doubleprecision datasets are available here. Sample littleendian singleprecision datasets are available here. Note that SPDP is protected by the license included in the beginning of the code.
The source code can be compiled as follows:
gcc O3 SPDP_11.c o spdp
To compress the file floating_point.bin with a compression level of 5 and store the compressed output in the file floating_point.spdp , enter:
./spdp 5 < floating_point.bin > floating_point.spdp
The supported compression levels go from 0 (faster with a lower compression ratio) to 9 (slower with a higher compression ratio).
To decompress the file floating_point.spdp and store the decompressed output in the file floating_point.org , enter:
./spdp < floating_point.spdp > floating_point.org
This work has been supported in part by the National Science Foundation under Grant No. 1217231.
