Zlib ==== Legacy data compression library - Consider using zlib-ng instead .. toctree:: :maxdepth: 1 :caption: Contents: Overview -------- `Zlib `_ is a general-purpose, lossless data-compression library. However, it is now considered legacy on Discoverer and clusters. .. warning:: We strongly recommend using :doc:`zlib-ng` with its compatibility mode (zlib-ng-compat) instead of zlib. Zlib-ng-compat provides: * Drop-in replacement for zlib * Significant performance improvements through SIMD optimizations * Automatic CPU feature detection and optimization * Full API compatibility with zlib To switch to zlib-ng-compat, simply load its module instead of zlib:: $ module load zlib-ng-compat/ Also, refer to the :doc:`zlib-ng` documentation for more details. Available versions ------------------ To view available zlib versions:: $ module load zlib Build recipes and configuration details are maintained in our GitLab repository: * `Build Recipes `_ Compiler support ---------------- Each zlib version is built against multiple compiler sets, though we recommend using :doc:`zlib-ng` instead. Still supported builds (but soon to be retired):: $ module avail zlib/*/*llvm # LLVM build $ module avail zlib/*/*gcc # GCC build Retired builds (but still available in the public software repository):: $ module avail zlib/*/*intel # Intel oneAPI build $ module avail zlib/*/*nvidia # NVIDIA HPC SDK build $ module avail zlib/*/*aocc # AMD AOCC build Migration to zlib-ng -------------------- For dynamically linked programs:: $ module load zlib-ng-compat/ $ ./your_program # will automatically use libz.so from zlib-ng-compat installation For programs requiring recompilation against the zlib-ng-compat library:: $ module load zlib-ng-compat/ $ -lz .. note:: The zlib-ng-compat provides the same API and ABI as zlib, making it a safe replacement with significant performance benefits through CPU-specific optimizations based on SIMD instructions. Getting Help ------------ For additional assistance: * See the :doc:`help` documentation