Skip to content

[SZ] [package list]

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

Install with the EasyBuild-user module:

eb SZ-2.1.12.5-cpeGNU-26.03-hdf5-parallel.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-parallel.

EasyConfig:

# Based on a easyconfig by the Juelich Supercomputing Centre
# Adapted for LUMI by Orian Louant
#
#DOC This version uses the `cray-hdf5-parallel` and `cray-netcdf-hdf5parallel` 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-parallel'

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-accel-host',   EXTERNAL_MODULE),
]

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

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

pre_configure_opts += ' && '.join([
    'export PKG_CONFIG_PATH=$CRAY_MPICH_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH',
    'sed -i "s/IMPORTED_TARGET netcdf/IMPORTED_TARGET netcdf_parallel/" %(builddir)s/SZ-%(version)s/NetCDFReader/CMakeLists.txt',
]) + ' &&'

local_common_configure_opts = ' '.join([
    '-DBUILD_FORTRAN=ON',
    '-DBUILD_HDF5_FILTER=ON',
    '-DBUILD_NETCDF_READER=ON',
    '-DBUILD_OPENMP=ON',
    '-DBUILD_PYTHON_WRAPPER=OFF'
])
configure_opts = [
    local_common_configure_opts + ' -DBUILD_SHARED_LIBS=OFF',
    local_common_configure_opts + ' -DBUILD_SHARED_LIBS=ON',
]

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]