Fortran bindings to lossy compression libraries SPERR and SZ3

Hey there,

I’ve just created Fortran bindings for state-of-the-art scientific error-bounded lossy compressors SZ3 and SPERR, aiming to extend its accessibility to users who primarily work in Fortran. I’ve developed simple CI workflows that tests the wrappers by running C/Python examples and comparing the outputs with its Fortran counterpart to ensure consistency. Perhaps these repositories have already been listed in Beliavsky’s list of new Fortran projects, but in any case, I wanted to notify you about this development

wrappers for SPERR: GitHub - ofmla/fortran-sperr: Fortran interface bindings to sperr
wrappers for SZ3: GitHub - ofmla/sz3_simple_example: Test file to check Fortran bindings to the SZ3 library for lossy compression

11 Likes

I’ve also been exploring the ZFP library. The ZFP official repository offers Fortran wrappers (zfp/fortran/zfp.f90 at develop · LLNL/zfp · GitHub), yet lacks a single example in Fortran. In GitHub - ofmla/zfp_simple_example: fortran version of zfp C code example - simple compressor, I’ve crafted a Fortran module with compression and decompression functionalities, streamlining the high-level API for Fortran developers. Additionally, the repository hosts an example that mirrors the straightforward C example found in the official repository (zfp/examples/simple.c at develop · LLNL/zfp · GitHub). I created this repository with the aim of enhancing ZFP accessibility to users primarily engaged in Fortran. I hope it proves beneficial to someone.

2 Likes