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 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