science/sz3: Add sz3 3.2.1

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 is open and transparent. Open because all interested
researchers and students can study or contribute to it. Transparent because all
performance improvements are detailed in publications.

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.

SZ has implementations on CPU, GPU, and FPGA and is integrated in the main I/O
libraries: HFD5, ADIOS, PnetCDF.
This commit is contained in:
Po-Chuan Hsieh 2025-02-03 23:12:15 +08:00
parent 72501c88d4
commit 9a01009164
No known key found for this signature in database
GPG key ID: 9A4BD10F002DD04B
5 changed files with 129 additions and 0 deletions

View file

@ -498,6 +498,7 @@
SUBDIR += spglib
SUBDIR += spheral
SUBDIR += step
SUBDIR += sz3
SUBDIR += tblite
SUBDIR += teem
SUBDIR += tfel

39
science/sz3/Makefile Normal file
View file

@ -0,0 +1,39 @@
PORTNAME= sz3
PORTVERSION= 3.2.1
DISTVERSIONPREFIX= v
CATEGORIES= science
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Modular Error-bounded Lossy Compression Framework for Scientific Datasets
WWW= https://szcompressor.org/ \
https://github.com/szcompressor/SZ3
LICENSE= BSD4CLAUSE
LICENSE_FILE= ${WRKSRC}/copyright-and-BSD-license.txt
LIB_DEPENDS= libgsl.so:math/gsl \
libzstd.so:archivers/zstd
USES= cmake pkgconfig
CMAKE_OFF= BUILD_H5Z_FILTER \
BUILD_MDZ \
SZ3_DEBUG_TIMINGS \
SZ3_USE_BUNDLED_ZSTD
CMAKE_ON= BUILD_SHARED_LIBS \
BUILD_STATIC_LIBS
DATADIR= ${PREFIX}/share/SZ3
USE_GITHUB= yes
GH_ACCOUNT= szcompressor
GH_PROJECT= SZ3
post-patch:
# Clean up bundled libraries
@${RM} -r ${WRKSRC}/tools/zstd/
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/sz3*
.include <bsd.port.mk>

3
science/sz3/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1738088812
SHA256 (szcompressor-SZ3-v3.2.1_GH0.tar.gz) = 24ed1c8159832734a241df66b857eca64d18a2e8e949ef583a2d0bfe01c6b7e1
SIZE (szcompressor-SZ3-v3.2.1_GH0.tar.gz) = 4474033

16
science/sz3/pkg-descr Normal file
View file

@ -0,0 +1,16 @@
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 is open and transparent. Open because all interested
researchers and students can study or contribute to it. Transparent because all
performance improvements are detailed in publications.
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.
SZ has implementations on CPU, GPU, and FPGA and is integrated in the main I/O
libraries: HFD5, ADIOS, PnetCDF.

70
science/sz3/pkg-plist Normal file
View file

@ -0,0 +1,70 @@
bin/sz3
bin/sz3_smoke_test
include/SZ3/api/impl/SZAlgoInterp.hpp
include/SZ3/api/impl/SZAlgoLorenzoReg.hpp
include/SZ3/api/impl/SZAlgoNopred.hpp
include/SZ3/api/impl/SZDispatcher.hpp
include/SZ3/api/impl/SZImpl.hpp
include/SZ3/api/impl/SZImplOMP.hpp
include/SZ3/api/sz.hpp
include/SZ3/compressor/Compressor.hpp
include/SZ3/compressor/SZGenericCompressor.hpp
include/SZ3/compressor/SZIterateCompressor.hpp
include/SZ3/compressor/specialized/SZBlockInterpolationCompressor.hpp
include/SZ3/compressor/specialized/SZExaaltCompressor.hpp
include/SZ3/compressor/specialized/SZTruncateCompressor.hpp
include/SZ3/decomposition/Decomposition.hpp
include/SZ3/decomposition/InterpolationDecomposition.hpp
include/SZ3/decomposition/LorenzoRegressionDecomposition.hpp
include/SZ3/decomposition/NoPredictionDecomposition.hpp
include/SZ3/decomposition/TimeSeriesDecomposition.hpp
include/SZ3/def.hpp
include/SZ3/encoder/ArithmeticEncoder.hpp
include/SZ3/encoder/BypassEncoder.hpp
include/SZ3/encoder/Encoder.hpp
include/SZ3/encoder/HuffmanEncoder.hpp
include/SZ3/encoder/RunlengthEncoder.hpp
include/SZ3/lossless/Lossless.hpp
include/SZ3/lossless/Lossless_bypass.hpp
include/SZ3/lossless/Lossless_zstd.hpp
include/SZ3/predictor/ComposedPredictor.hpp
include/SZ3/predictor/LorenzoPredictor.hpp
include/SZ3/predictor/MetaLorenzoPredictor.hpp
include/SZ3/predictor/MetaRegressionPredictor.hpp
include/SZ3/predictor/PolyRegressionCoeffAux.hpp
include/SZ3/predictor/PolyRegressionCoeffAux.m
include/SZ3/predictor/PolyRegressionPredictor.hpp
include/SZ3/predictor/Predictor.hpp
include/SZ3/predictor/RegressionPredictor.hpp
include/SZ3/preprocessor/PreFilter.hpp
include/SZ3/preprocessor/PreProcessor.hpp
include/SZ3/preprocessor/Transpose.hpp
include/SZ3/preprocessor/Wavelet.hpp
include/SZ3/quantizer/LinearQuantizer.hpp
include/SZ3/quantizer/Quantizer.hpp
include/SZ3/utils/ByteUtil.hpp
include/SZ3/utils/Config.hpp
include/SZ3/utils/Extraction.hpp
include/SZ3/utils/FileUtil.hpp
include/SZ3/utils/Interpolators.hpp
include/SZ3/utils/Iterator.hpp
include/SZ3/utils/KmeansUtil.hpp
include/SZ3/utils/MemoryUtil.hpp
include/SZ3/utils/MetaDef.hpp
include/SZ3/utils/QuantOptimizatioin.hpp
include/SZ3/utils/Statistic.hpp
include/SZ3/utils/Timer.hpp
include/SZ3/utils/inih/INIReader.h
include/SZ3/utils/inih/LICENSE.txt
include/SZ3/utils/ska_hash/LICENSE.txt
include/SZ3/utils/ska_hash/bytell_hash_map.hpp
include/SZ3/utils/ska_hash/flat_hash_map.hpp
include/SZ3/utils/ska_hash/unordered_map.hpp
include/SZ3/version.hpp
include/SZ3/version.hpp.in
include/SZ3c/sz3c.h
lib/cmake/SZ3/SZ3Config.cmake
lib/cmake/SZ3/SZ3ConfigVersion.cmake
lib/cmake/SZ3/SZ3Targets.cmake
lib/libSZ3c.so
%%DATADIR%%/testfloat_8_8_128.dat