aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-02-03 15:12:15 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-02-03 15:50:42 +0000
commit9a010091641e98796d3d41e51d88bcbfafbc5ece (patch)
treec7debf93213e64b6009337cdc445364c759415fe
parent72501c88d4f03db3b9204f6f4083fa46eb94b608 (diff)
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.
-rw-r--r--science/Makefile1
-rw-r--r--science/sz3/Makefile39
-rw-r--r--science/sz3/distinfo3
-rw-r--r--science/sz3/pkg-descr16
-rw-r--r--science/sz3/pkg-plist70
5 files changed, 129 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 7c4802f84815..8a9535da9c1f 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -498,6 +498,7 @@
SUBDIR += spglib
SUBDIR += spheral
SUBDIR += step
+ SUBDIR += sz3
SUBDIR += tblite
SUBDIR += teem
SUBDIR += tfel
diff --git a/science/sz3/Makefile b/science/sz3/Makefile
new file mode 100644
index 000000000000..e65b8ad06873
--- /dev/null
+++ b/science/sz3/Makefile
@@ -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>
diff --git a/science/sz3/distinfo b/science/sz3/distinfo
new file mode 100644
index 000000000000..638b3b67e6a1
--- /dev/null
+++ b/science/sz3/distinfo
@@ -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
diff --git a/science/sz3/pkg-descr b/science/sz3/pkg-descr
new file mode 100644
index 000000000000..8cba5dafde49
--- /dev/null
+++ b/science/sz3/pkg-descr
@@ -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.
diff --git a/science/sz3/pkg-plist b/science/sz3/pkg-plist
new file mode 100644
index 000000000000..cbe94507605e
--- /dev/null
+++ b/science/sz3/pkg-plist
@@ -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