Skip to content

[SZ] [package list]

SZ/2.1.12.5-cpeGNU-26.03-hdf5 (SZ-2.1.12.5-cpeGNU-26.03-hdf5.eb)

Install with the EasyBuild-user module:

eb SZ-2.1.12.5-cpeGNU-26.03-hdf5.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider SZ/2.1.12.5-cpeGNU-26.03-hdf5.

EasyConfig:

# Based on a easyconfig by the Juelich Supercomputing Centre
# Adapted for LUMI by Orian Louant
#
#DOC This version uses the `cray-hdf5` and `cray-netcdf` modules.

easyblock = 'CMakeMake'

local_zlib_version =         '2.3.3'         # https://github.com/zlib-ng/zlib-ng/releases

local_SZ_version =           '2.1.12.5'      # https://github.com/szcompressor/SZ/releases

name =          'SZ'
version =       local_SZ_version
version_suffix = '-hdf5'

homepage = 'https://szcompressor.org'

whatis = ['SZ is a modular parametrizable lossy compressor framework for scientific data']

description = """
SZ is a modular parametrizable lossy compressor framework for scientific data
(floating point and integers). It has applications in simulations, AI and
instruments. It is a production quality software and a research platform for
lossy compression.

SZ can be used for classic use-cases: visualization, accelerating I/O,
reducing memory and storage footprint and more advanced use-cases like
compression of DNN models and training sets, acceleration of computation,
checkpoint/restart, reducing streaming intensity and running efficiently large
problems that cannot fit in memory. Other use-cases will augment this list as
users find new opportunities to benefit from lossy compression of scientific
data.
"""

doc_urls = [
    'PDF documentation on https://github.com/szcompressor/SZ2/tree/master/doc'
]

software_license_urls = ['https://github.com/szcompressor/SZ/blob/master/copyright-and-BSD-license.txt']

toolchain = {'name': 'cpeGNU', 'version': '26.03'}
toolchain_opts = {'pic': True}

# https://github.com/szcompressor/SZ2/releases/download/v2.1.12.5/SZ-2.1.12.5.tar.gz
source_urls = ['https://github.com/szcompressor/SZ2/releases/download/v%(version)s']
sources =     ['SZ-%(version)s.tar.gz']
checksums =   ['32a820daf6019156a777300389d2392e4498a5c9daffce7be754cd0a5ba8729c']

build_deps = [
    ('buildtools',          '%(toolchain_version)s', '', True),
    ('craype-network-none', EXTERNAL_MODULE),
    ('craype-accel-host',   EXTERNAL_MODULE),
]

deps = [
    ('zlib',        local_zlib_version),
    ('cray-hdf5',   EXTERNAL_MODULE),
    ('cray-netcdf', EXTERNAL_MODULE),
]

pre_configure_opts = 'module unload cray-libsci cray-mpich xpmem rocm && '
pre_build_opts = pre_configure_opts

local_common_configure_opts = ' '.join([
    '-DBUILD_FORTRAN=ON',
    '-DBUILD_HDF5_FILTER=ON',
    '-DBUILD_NETCDF_READER=ON',
    '-DBUILD_OPENMP=ON',
])
configure_opts = [
    local_common_configure_opts + ' -DBUILD_PYTHON_WRAPPER=OFF -DBUILD_SHARED_LIBS=OFF', # Cannot work with Python wrappers
    local_common_configure_opts + ' -DBUILD_PYTHON_WRAPPER=OFF -DBUILD_SHARED_LIBS=ON',  # Python wrappers possible but needs additional dependencies
]

post_install_cmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../SZ-%(version)s && cp copyright-and-BSD-license.txt %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['lib/libSZ.a', 'lib/libSZ.%s' % SHLIB_EXT, 'include/sz/sz.h'],
    'dirs':  [],
}

env_mod_category = 'data'

[SZ] [package list]