diff --git a/Golden_Repo/a/ADIOS2/ADIOS2-2.7.1-gpsmkl-2021b.eb b/Golden_Repo/a/ADIOS2/ADIOS2-2.7.1-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..8a9b394df86b03ad626e2a51cefeb93d32d43fb5 --- /dev/null +++ b/Golden_Repo/a/ADIOS2/ADIOS2-2.7.1-gpsmkl-2021b.eb @@ -0,0 +1,169 @@ +easyblock = 'CMakeMake' + +name = 'ADIOS2' +version = '2.7.1' + +homepage = 'https://www.olcf.ornl.gov/center-projects/adios/' +description = """The Adaptable IO System (ADIOS) provides a simple, +flexible way for scientists to describe the data in their code that may +need to be written, read, or processed outside of the running +simulation.""" + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': False} + +github_account = 'ornladios' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['include4gcc11.patch'] +checksums = [ + 'c8e237fd51f49d8a62a0660db12b72ea5067512aa7970f3fcf80b70e3f87ca3e', + 'ea10445fc942796568c6196a4bed7d506e8a6bf381b2a01c9bdaae38f1601ea2', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Szip', '2.1.1'), + ('SZ', '2.1.12'), + ('zfp', '0.5.5'), + ('Blosc', '1.21.1'), + ('HDF5', '1.12.1'), + ('mpi4py', '3.1.3'), + ('libpng', '1.6.37'), + ('ZeroMQ', '4.3.4'), + ('nlohmann-json', '3.10.4'), + ('pybind11', '2.7.1'), +] + +separate_build_dir = True + +configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON " + +configopts += "-DADIOS2_USE_Fortran=ON " +configopts += "-DADIOS2_USE_MPI=ON " + +# Examples/Testing +configopts += "-DADIOS2_BUILD_EXAMPLES=OFF " +configopts += "-DADIOS2_BUILD_EXAMPLES_EXPERIMENTAL=OFF " +configopts += "-DADIOS2_BUILD_TESTING=OFF " + +# Compression +configopts += "-DADIOS2_USE_BZip2=ON " +configopts += "-DBZIP2_DIR=${EBROOTBZIP2} " + +configopts += "-DADIOS2_USE_PNG=ON " +configopts += "-DPNG_DIR=${EBROOTLIBPNG} " + +configopts += "-DADIOS2_USE_SZ=ON " +configopts += "-DSZ_DIR=${EBROOTSZ} " + +configopts += "-DADIOS2_USE_ZFP=ON " +configopts += "-DZFP_DIR=${EBROOTZFP} " + +configopts += "-DADIOS2_USE_Blosc=ON " +configopts += "-DBLOSC_DIR=${EBROOTBLOSC} " + +configopts += "-DZLIB_DIR=${EBROOTZLIB} " +configopts += "-DADIOS2_USE_MGARD=OFF " + +# HDF5 +configopts += "-DADIOS2_USE_HDF5=ON " +configopts += "-DHDF5_DIR=${EBROOTHDF5} " + +# ZeroMQ +configopts += "-DADIOS2_USE_ZeroMQ=ON " +configopts += "-DZeroMQ_DIR=${EBROOTZEROMQ} " + +# Python +configopts += "-DADIOS2_USE_Python=ON " +configopts += "-DPython_DIR=${EBROOTPYTHON} " + +# System Virtual Shared Memory +configopts += "-DADIOS2_USE_SysVShMem=ON " + +# Strong Staging Coupler +# https://adios2.readthedocs.io/en/latest/engines/engines.html#ssc-strong-staging-coupler +configopts += "-DADIOS2_USE_SSC=ON " + +# Sustainable Staging Transport +# https://adios2.readthedocs.io/en/latest/engines/engines.html#sst-sustainable-staging-transport +configopts += "-DADIOS2_USE_SST=ON " +# Can optionally use LibFabric for RDMA transport: if -DLIBFABRIC_ROOT=<path> is set. + +# DataMan +# https://adios2.readthedocs.io/en/latest/engines/engines.html#dataman-for-wide-area-network-data-staging +configopts += "-DADIOS2_USE_DataMan=ON " + +# DataSpaces (mind. version 1.8) +configopts += "-DADIOS2_USE_DataSpaces=OFF " + +# external libs +configopts += "-DADIOS2_USE_EXTERNAL_PYBIND11=ON " +configopts += "-Dpybind11_DIR=${EBROOTPYBIND11} " +configopts += "-DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON " +configopts += "-Dnlohmann_json_DIR=${EBROOTNLOHMANNMINJSON} " + +# more options +configopts += "-DADIOS2_USE_IME=OFF " +configopts += "-DADIOS2_USE_Profiling=OFF " +configopts += "-DADIOS2_USE_Table=OFF " +# configopts += "-DADIOS2_USE_Endian_Reverse=ON " + +runtest = False + +# create pkgconfig files +postinstallcmds = [ + 'mkdir %(installdir)s/lib/pkgconfig', + """echo -e "Name: adios2 +Description: ADIOS2 I/O library +Version: %(version)s +Requires: bzip2, zfp, sz, libpng, blosc +Libs: $(%(installdir)s/bin/adios2-config --c-libs) +Cflags: $(%(installdir)s/bin/adios2-config --c-flags)" > %(installdir)s/lib/pkgconfig/adios2.pc""", + """echo -e "Name: adios2_cxx +Description: ADIOS2 I/O library (C++) +Version: %(version)s +Libs: $(%(installdir)s/bin/adios2-config --cxx-libs) +Cflags: $(%(installdir)s/bin/adios2-config --cxx-flags)" > %(installdir)s/lib/pkgconfig/adios2_cxx.pc""", + """echo -e "Name: adios2_f +Description: ADIOS2 I/O library (Fortran) +Version: %(version)s +Libs: $(%(installdir)s/bin/adios2-config --fortran-libs) +Cflags: $(%(installdir)s/bin/adios2-config --fortran-flags)" > %(installdir)s/lib/pkgconfig/adios2_f.pc""", +] + +sanity_check_paths = { + 'files': ['bin/adios2-config', 'bin/bpls', 'bin/bp4dbg'], + 'files': ['include/adios2.h', 'include/adios2_c.h', 'include/adios2/fortran/adios2.mod'], + 'files': [ + 'lib64/libadios2_core.so', 'lib64/libadios2_core_mpi.so', 'lib64/cmake/adios2/adios2-config.cmake', + 'lib64/libadios2_c.so', 'lib64/libadios2_c_mpi.so', 'lib64/libadios2_cxx11.so', + 'lib64/libadios2_cxx11_mpi.so', 'lib64/libadios2_fortran.so', 'lib64/libadios2_fortran_mpi.so' + ], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_paths = { + 'files': ['bin/adios2-config', 'bin/bpls'], + 'dirs': ['include/adios2', 'lib/python%(pyshortver)s'], +} + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +modextravars = { + 'ADIOS2_PKGCONFIG_LIBS': 'adios2', + 'ADIOS2_CXX_PKGCONFIG_LIBS': 'adios2_cxx', + 'ADIOS2_FORTRAN_PKGCONFIG_LIBS': 'adios2_f', +} + +moduleclass = 'data' diff --git a/Golden_Repo/a/ADIOS2/include4gcc11.patch b/Golden_Repo/a/ADIOS2/include4gcc11.patch new file mode 100644 index 0000000000000000000000000000000000000000..e0714c2d8842b86ec90d996fa1b8131857671c54 --- /dev/null +++ b/Golden_Repo/a/ADIOS2/include4gcc11.patch @@ -0,0 +1,22 @@ +From 8d04bda12988ac4190780e1d75bedaf3e510d32c Mon Sep 17 00:00:00 2001 +From: Erik Schnetter <schnetter@gmail.com> +Date: Thu, 20 May 2021 08:55:59 -0400 +Subject: [PATCH] Add missing #include <memory> + +Closes https://github.com/ornladios/ADIOS2/issues/2709 +--- + source/adios2/toolkit/zmq/zmqpubsub/ZmqPubSub.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/source/adios2/toolkit/zmq/zmqpubsub/ZmqPubSub.h b/source/adios2/toolkit/zmq/zmqpubsub/ZmqPubSub.h +index 3648ded1d..a0c381a05 100644 +--- a/source/adios2/toolkit/zmq/zmqpubsub/ZmqPubSub.h ++++ b/source/adios2/toolkit/zmq/zmqpubsub/ZmqPubSub.h +@@ -11,6 +11,7 @@ + #ifndef ADIOS2_TOOLKIT_ZMQ_ZMQPUBSUB_H_ + #define ADIOS2_TOOLKIT_ZMQ_ZMQPUBSUB_H_ + ++#include <memory> + #include <mutex> + #include <queue> + #include <thread> diff --git a/Golden_Repo/b/Blosc/Blosc-1.21.1-GCCcore-11.2.0.eb b/Golden_Repo/b/Blosc/Blosc-1.21.1-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..35ae6fea852d209436bf2c413a4e9c526f6bbd41 --- /dev/null +++ b/Golden_Repo/b/Blosc/Blosc-1.21.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.1' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f387149eab24efa01c308e4cba0f59f64ccae57292ec9c794002232f7903b55b'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/hidden_deps.txt b/Golden_Repo/hidden_deps.txt index ccea3a4a887bd8bdb5d500b2ab980a6a29226ec1..9fbfa20a134643447dd8989c79e1f95163b6eeff 100644 --- a/Golden_Repo/hidden_deps.txt +++ b/Golden_Repo/hidden_deps.txt @@ -8,6 +8,7 @@ ATK Autoconf Automake Bison +Blosc CUSP Coreutils CubeWriter @@ -237,6 +238,7 @@ rkcommon scrollkeeper snappy spdlog +SZ texinfo uglifyjs util-linux @@ -259,4 +261,5 @@ xprop xproto xtrans yuicompressor +zfp zlib diff --git a/Golden_Repo/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb b/Golden_Repo/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb index 8754b468b3038e92f826ac3e75538a59c9fd9181..ea15b1e5992225f37d7eb814ae3a035b929676db 100644 --- a/Golden_Repo/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb +++ b/Golden_Repo/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb @@ -83,7 +83,7 @@ components = [ # o/OpenGL/ofnone-fix.patch '37d1c37fd3a8563b9dd78ecd361e5a39440310facd1ed656ca1e12f667b54d6b', # o/OpenGL/swrllvm-fix.patch - 'e5aa27b6aba3e75335bbd6d989c52dd42a8435ef87a1453267164e9612daee1a', + '8bc00dc99a88684fcf469115914269b716622ef33648cf80c8a80d05d38e9540', ], 'patches': [ # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11568 diff --git a/Golden_Repo/o/OpenGL/swrllvm-fix.patch b/Golden_Repo/o/OpenGL/swrllvm-fix.patch index c87663eb196b930a41f340b31ff3c18b5785fbab..83f433deb948637abd319cc5692822e3e7f5f5e2 100644 --- a/Golden_Repo/o/OpenGL/swrllvm-fix.patch +++ b/Golden_Repo/o/OpenGL/swrllvm-fix.patch @@ -1,129 +1,262 @@ -From 98859f67c3d54c9c6d8bbf55251717cbe3511f4e Mon Sep 17 00:00:00 2001 -From: Grigory Vasilyev <h0tc0d3@gmail.com> -Date: Fri, 8 Oct 2021 15:26:49 +0300 -Subject: [PATCH] Fix swr build with LLVM 13 - ---- - .../swr/rasterizer/jitter/builder_mem.cpp | 12 +++++++++++ - .../swr/rasterizer/jitter/builder_mem.h | 4 ++++ - src/gallium/drivers/swr/swr_shader.cpp | 20 ++++++++++++++----- - 3 files changed, 31 insertions(+), 5 deletions(-) - +diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h +index c361959b76ff0799f5102ad4b8ddf23d345105d9..64a690b47fac9ee99eba8f1259ffccf20f0e5fa0 100644 +--- a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h ++++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h +@@ -41,31 +41,29 @@ namespace SwrJit + BuilderGfxMem(JitManager* pJitMgr); + virtual ~BuilderGfxMem() {} + +- virtual Value* GEP(Value* Ptr, Value* Idx, Type* Ty = nullptr, bool isReadOnly = true, const Twine& Name = ""); +- virtual Value* GEP(Type* Ty, Value* Ptr, Value* Idx, const Twine& Name = ""); +- virtual Value* +- GEP(Value* Ptr, const std::initializer_list<Value*>& indexList, Type* Ty = nullptr); +- virtual Value* +- GEP(Value* Ptr, const std::initializer_list<uint32_t>& indexList, Type* Ty = nullptr); ++ virtual Value* GEP(Value* Ptr, Value* Idx, Type* Ty = nullptr, bool isReadOnly = true, const Twine& Name = "") override; ++ virtual Value* GEP(Type* Ty, Value* Ptr, Value* Idx, const Twine& Name = "") override; ++ virtual Value* GEP(Value* Ptr, const std::initializer_list<Value*>& indexList, Type* Ty = nullptr) override; ++ virtual Value* GEP(Value* Ptr, const std::initializer_list<uint32_t>& indexList, Type* Ty = nullptr) override; + + virtual LoadInst* LOAD(Value* Ptr, + const char* Name, + Type* Ty = nullptr, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + virtual LoadInst* LOAD(Value* Ptr, + const Twine& Name = "", + Type* Ty = nullptr, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + virtual LoadInst* LOAD(Value* Ptr, + bool isVolatile, + const Twine& Name = "", + Type* Ty = nullptr, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + virtual LoadInst* LOAD(Value* BasePtr, + const std::initializer_list<uint32_t>& offset, + const llvm::Twine& Name = "", + Type* Ty = nullptr, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + + virtual CallInst* MASKED_LOAD(Value* Ptr, + unsigned Align, +@@ -73,32 +71,32 @@ namespace SwrJit + Value* PassThru = nullptr, + const Twine& Name = "", + Type* Ty = nullptr, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + +- virtual StoreInst* STORE(Value *Val, Value *Ptr, bool isVolatile = false, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); +- +- virtual StoreInst* STORE(Value* Val, Value* BasePtr, const std::initializer_list<uint32_t>& offset, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ virtual StoreInst* STORE(Value *Val, Value *Ptr, bool isVolatile = false, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + +- virtual CallInst* MASKED_STORE(Value *Val, Value *Ptr, unsigned Align, Value *Mask, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ virtual StoreInst* STORE(Value* Val, Value* BasePtr, const std::initializer_list<uint32_t>& offset, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; ++ ++ virtual CallInst* MASKED_STORE(Value *Val, Value *Ptr, unsigned Align, Value *Mask, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + + virtual Value* GATHERPS(Value* src, + Value* pBase, + Value* indices, + Value* mask, + uint8_t scale = 1, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + virtual Value* GATHERDD(Value* src, + Value* pBase, + Value* indices, + Value* mask, + uint8_t scale = 1, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + + virtual void SCATTERPS(Value* pDst, + Value* vSrc, + Value* vOffsets, + Value* vMask, +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) override; + + Value* TranslateGfxAddressForRead(Value* xpGfxAddress, + Type* PtrTy = nullptr, +@@ -108,13 +106,13 @@ namespace SwrJit + Type* PtrTy = nullptr, + const Twine& Name = "", + MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); +- ++ + protected: + void AssertGFXMemoryParams(Value* ptr, MEM_CLIENT usage); + + virtual void NotifyPrivateContextSet(); + +- virtual Value* OFFSET_TO_NEXT_COMPONENT(Value* base, Constant* offset); ++ virtual Value* OFFSET_TO_NEXT_COMPONENT(Value* base, Constant* offset) override; + + Value* TranslationHelper(Value* Ptr, Type* Ty, Value* pfnTranslateGfxAddress); + void TrackerHelper(Value* Ptr, Type* Ty, MEM_CLIENT usage, bool isRead); diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp -index b5eb0a782b1..ff0672cfd14 100644 +index b5eb0a782b15214bcf954a7893cd628649a990fc..a16b5d11dbb2f2f1a0bcdc07e4d306b14a90dc4c 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp -@@ -82,7 +82,11 @@ namespace SwrJit +@@ -82,7 +82,12 @@ namespace SwrJit std::vector<Value*> indices; for (auto i : indexList) indices.push_back(i); +#if LLVM_VERSION_MAJOR >= 13 -+ return IN_BOUNDS_GEP(ptr->getType(), ptr, indices); ++ Type *EltTy = cast<PointerType>(ptr->getType())->getElementType(); ++ return IN_BOUNDS_GEP(EltTy, ptr, indices); +#else return IN_BOUNDS_GEP(ptr, indices); +#endif } Value* Builder::IN_BOUNDS_GEP(Value* ptr, const std::initializer_list<uint32_t>& indexList) -@@ -90,7 +94,11 @@ namespace SwrJit +@@ -90,7 +95,12 @@ namespace SwrJit std::vector<Value*> indices; for (auto i : indexList) indices.push_back(C(i)); +#if LLVM_VERSION_MAJOR >= 13 -+ return IN_BOUNDS_GEP(ptr->getType(), ptr, indices); ++ Type *EltTy = cast<PointerType>(ptr->getType())->getElementType(); ++ return IN_BOUNDS_GEP(EltTy, ptr, indices); +#else return IN_BOUNDS_GEP(ptr, indices); +#endif } LoadInst* Builder::LOAD(Value* Ptr, const char* Name, Type* Ty, MEM_CLIENT usage) -@@ -234,7 +242,11 @@ namespace SwrJit +@@ -130,6 +140,22 @@ namespace SwrJit + return Builder::LOAD(GEPA(basePtr, valIndices), name); + } + ++ CallInst* Builder::MASKED_LOAD(Value* Ptr, ++ unsigned Align, ++ Value* Mask, ++ Value* PassThru, ++ const Twine& Name, ++ Type* Ty, ++ MEM_CLIENT usage) ++ { ++#if LLVM_VERSION_MAJOR >= 13 ++ Type *EltTy = cast<PointerType>(Ptr->getType())->getElementType(); ++ return IRB()->CreateMaskedLoad(EltTy, Ptr, AlignType(Align), Mask, PassThru, Name); ++#else ++ return IRB()->CreateMaskedLoad(Ptr, AlignType(Align), Mask, PassThru, Name); ++#endif ++ } ++ + LoadInst* Builder::LOADV(Value* basePtr, + const std::initializer_list<Value*>& indices, + const llvm::Twine& name) +@@ -234,7 +260,12 @@ namespace SwrJit /// @param pVecPassthru - SIMD wide vector of values to load when lane is inactive Value* Builder::GATHER_PTR(Value* pVecSrcPtr, Value* pVecMask, Value* pVecPassthru) { +#if LLVM_VERSION_MAJOR >= 13 -+ return MASKED_GATHER(pVecSrcPtr->getType(), pVecSrcPtr, AlignType(4), pVecMask, pVecPassthru); ++ Type *EltTy = cast<PointerType>(pVecSrcPtr->getType())->getElementType(); ++ return MASKED_GATHER(EltTy, pVecSrcPtr, AlignType(4), pVecMask, pVecPassthru); +#else return MASKED_GATHER(pVecSrcPtr, AlignType(4), pVecMask, pVecPassthru); -+#endif ++#endif } void Builder::SCATTER_PTR(Value* pVecDstPtr, Value* pVecSrc, Value* pVecMask) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h -index 429d5779a4d..c6cfb812b81 100644 +index 429d5779a4db2a6a3b6c7a7d02169773c935bb95..6682ad892b4038d4b3172b932a34e31a89cd7790 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h -@@ -84,7 +84,11 @@ virtual CallInst* MASKED_LOAD(Value* Ptr, +@@ -82,10 +82,7 @@ virtual CallInst* MASKED_LOAD(Value* Ptr, + Value* PassThru = nullptr, + const Twine& Name = "", Type* Ty = nullptr, - MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) - { -+#if LLVM_VERSION_MAJOR >= 13 -+ return IRB()->CreateMaskedLoad(Ptr->getType(), Ptr, AlignType(Align), Mask, PassThru, Name); -+#else - return IRB()->CreateMaskedLoad(Ptr, AlignType(Align), Mask, PassThru, Name); -+#endif - } +- MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) +-{ +- return IRB()->CreateMaskedLoad(Ptr, AlignType(Align), Mask, PassThru, Name); +-} ++ MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL); virtual StoreInst* STORE(Value *Val, Value *Ptr, bool isVolatile = false, Type* Ty = nullptr, MEM_CLIENT usage = MEM_CLIENT::MEM_CLIENT_INTERNAL) + { +diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp +index bd5f7588c9189275ddaf3075b0a75e2e8fc1ecf5..2a4cf74722bc9ef1831d25fe6c2bb2f510b8fceb 100644 +--- a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp ++++ b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp +@@ -276,7 +276,8 @@ Function* FetchJit::Create(const FETCH_COMPILE_STATE& fetchState) + JitManager::DumpToFile(fetch, "src"); + + #if defined(_DEBUG) +- verifyFunction(*fetch); ++ // Note that false is returned if there are no errors ++ SWR_ASSERT(!verifyFunction(*fetch, &llvm::errs())); + #endif + + ::FunctionPassManager setupPasses(JM()->mpCurrentModule); diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp -index 315036920fb..26e967759cd 100644 +index 315036920fb3ad364d0039349e148c70e5ba1818..a643b46cd081c026b5a3558d22be557338d4f220 100644 --- a/src/gallium/drivers/swr/swr_shader.cpp +++ b/src/gallium/drivers/swr/swr_shader.cpp -@@ -1553,7 +1553,9 @@ BuilderSWR::CompileGS(struct swr_context *ctx, swr_jit_gs_key &key) - GlobalValue::ExternalLinkage, - "GS", - JM()->mpCurrentModule); --#if LLVM_VERSION_MAJOR < 5 -+#if LLVM_VERSION_MAJOR >= 13 -+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder); -+#elif LLVM_VERSION_MAJOR < 5 +@@ -1557,8 +1557,10 @@ BuilderSWR::CompileGS(struct swr_context *ctx, swr_jit_gs_key &key) AttributeSet attrSet = AttributeSet::get( JM()->mContext, AttributeSet::FunctionIndex, attrBuilder); pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet); -@@ -1781,7 +1783,9 @@ BuilderSWR::CompileTES(struct swr_context *ctx, swr_jit_tes_key &key) - "TES", - JM()->mpCurrentModule); +-#else ++#elif LLVM_VERSION_MAJOR < 14 + pFunction->addAttributes(AttributeList::FunctionIndex, attrBuilder); ++#else ++ pFunction->addFnAttrs(attrBuilder); + #endif --#if LLVM_VERSION_MAJOR < 5 -+#if LLVM_VERSION_MAJOR >= 13 -+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder); -+#elif LLVM_VERSION_MAJOR < 5 + BasicBlock *block = BasicBlock::Create(JM()->mContext, "entry", pFunction); +@@ -1785,8 +1787,10 @@ BuilderSWR::CompileTES(struct swr_context *ctx, swr_jit_tes_key &key) AttributeSet attrSet = AttributeSet::get( JM()->mContext, AttributeSet::FunctionIndex, attrBuilder); pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet); -@@ -2082,7 +2086,9 @@ BuilderSWR::CompileTCS(struct swr_context *ctx, swr_jit_tcs_key &key) - "TCS", - JM()->mpCurrentModule); +-#else ++#elif LLVM_VERSION_MAJOR < 14 + pFunction->addAttributes(AttributeList::FunctionIndex, attrBuilder); ++#else ++ pFunction->addFnAttrs(attrBuilder); + #endif --#if LLVM_VERSION_MAJOR < 5 -+#if LLVM_VERSION_MAJOR >= 13 -+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder); -+#elif LLVM_VERSION_MAJOR < 5 + BasicBlock *block = BasicBlock::Create(JM()->mContext, "entry", pFunction); +@@ -2086,8 +2090,10 @@ BuilderSWR::CompileTCS(struct swr_context *ctx, swr_jit_tcs_key &key) AttributeSet attrSet = AttributeSet::get( JM()->mContext, AttributeSet::FunctionIndex, attrBuilder); pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet); -@@ -2337,7 +2343,9 @@ BuilderSWR::CompileVS(struct swr_context *ctx, swr_jit_vs_key &key) - GlobalValue::ExternalLinkage, - "VS", - JM()->mpCurrentModule); --#if LLVM_VERSION_MAJOR < 5 -+#if LLVM_VERSION_MAJOR >= 13 -+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder); -+#elif LLVM_VERSION_MAJOR < 5 +-#else ++#elif LLVM_VERSION_MAJOR < 14 + pFunction->addAttributes(AttributeList::FunctionIndex, attrBuilder); ++#else ++ pFunction->addFnAttrs(attrBuilder); + #endif + + BasicBlock *block = BasicBlock::Create(JM()->mContext, "entry", pFunction); +@@ -2341,8 +2347,10 @@ BuilderSWR::CompileVS(struct swr_context *ctx, swr_jit_vs_key &key) AttributeSet attrSet = AttributeSet::get( JM()->mContext, AttributeSet::FunctionIndex, attrBuilder); pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet); -@@ -2642,7 +2650,9 @@ BuilderSWR::CompileFS(struct swr_context *ctx, swr_jit_fs_key &key) - GlobalValue::ExternalLinkage, - "FS", - JM()->mpCurrentModule); --#if LLVM_VERSION_MAJOR < 5 -+#if LLVM_VERSION_MAJOR >= 13 -+ pFunction->addParamAttrs(AttributeList::FunctionIndex, attrBuilder); -+#elif LLVM_VERSION_MAJOR < 5 +-#else ++#elif LLVM_VERSION_MAJOR < 14 + pFunction->addAttributes(AttributeList::FunctionIndex, attrBuilder); ++#else ++ pFunction->addFnAttrs(attrBuilder); + #endif + + BasicBlock *block = BasicBlock::Create(JM()->mContext, "entry", pFunction); +@@ -2646,8 +2654,10 @@ BuilderSWR::CompileFS(struct swr_context *ctx, swr_jit_fs_key &key) AttributeSet attrSet = AttributeSet::get( JM()->mContext, AttributeSet::FunctionIndex, attrBuilder); pFunction->addAttributes(AttributeSet::FunctionIndex, attrSet); --- -GitLab +-#else ++#elif LLVM_VERSION_MAJOR < 14 + pFunction->addAttributes(AttributeList::FunctionIndex, attrBuilder); ++#else ++ pFunction->addFnAttrs(attrBuilder); + #endif + + BasicBlock *block = BasicBlock::Create(JM()->mContext, "entry", pFunction); diff --git a/Golden_Repo/p/ParaView/ParaView-5.10.0-EGL-gpsmkl-2021b.eb b/Golden_Repo/p/ParaView/ParaView-5.10.0-EGL-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..e98cd73d281dc7a5f819330bf988e6898f89f6d5 --- /dev/null +++ b/Golden_Repo/p/ParaView/ParaView-5.10.0-EGL-gpsmkl-2021b.eb @@ -0,0 +1,309 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.10.0' +versionsuffix = '-EGL' + +homepage = "http://www.paraview.org" +description = "Paraview is a scientific parallel visualizer." + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +local_dwnlsfx_src = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=Sources&downloadFile=' +source_urls = [('http://www.paraview.org/paraview-downloads/%s' % local_dwnlsfx_src)] +sources = [("ParaView-v%(version)s.tar.gz")] +checksums = [('sha256', '4273dd90c858a6440a72d9c1ad054e76f336446138c895148a797b486603afbd')] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), + ('git', '2.33.1', '-nodocs'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Boost', '1.78.0'), + ('X11', '20210802'), + ('bzip2', '1.0.8'), + ('HDF5', '1.12.1'), + ('ADIOS2', '2.7.1'), + ('FFmpeg', '4.4.1'), + ('Embree', '3.13.2'), + ('OSPRay', '2.8.0'), + ('libpng', '1.6.37'), + ('expat', '2.4.1'), + ('freetype', '2.11.0'), + ('libjpeg-turbo', '2.1.1'), + ('libxml2', '2.9.10'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('netCDF', '4.8.1'), + ('netCDF-C++4', '4.3.1'), + ('netCDF-Fortran', '4.5.3'), + ('nlohmann-json', '3.10.4'), # for ParFlow plugin + ('mpi4py', '3.1.3'), + ('double-conversion', '3.1.6'), + ('Eigen', '3.3.9'), + ('Qt5', '5.15.2'), + ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('OpenGL', '2021b'), + ('ParaViewData', '%(version)s', '', SYSTEM), + ('VTKData', '9.1.0', '', SYSTEM), +] + +separate_build_dir = True + +# ensure we do not use a too advanced GL-version at config/build-time, which might not be available at run-time +preconfigopts = "export __EGL_VENDOR_LIBRARY_FILENAMES=${EBROOTOPENGL}/share/glvnd/egl_vendor.d/50_mesa.json && " +prebuildopts = "export __EGL_VENDOR_LIBRARY_FILENAMES=${EBROOTOPENGL}/share/glvnd/egl_vendor.d/50_mesa.json && " + +######################################################################################## +# check ParaView Superbuild options # +# https://gitlab.kitware.com/paraview/paraview-superbuild/tree/master # +# # +# check ParaView Build documenation # +# https://gitlab.kitware.com/paraview/paraview/blob/master/Documentation/dev/build.md # +######################################################################################## + +# --- general settings --- # +configopts = '-DCMAKE_VERBOSE_MAKEFILE=ON ' +configopts += '-DCMAKE_CXX_STANDARD=11 ' +configopts += '-DPARAVIEW_BUILD_LEGACY_SILENT=ON ' + +# https://forum.openframeworks.cc/t/nvidia-drivers-pthreads-and-segfaults/2524 +# configopts += '-DCMAKE_CXX_FLAGS="-lpthread $CMAKE_CXX_FLAGS" ' +# configopts += '-DCMAKE_C_FLAGS="-lpthread $CMAKE_C_FLAGS" ' + +configopts += '-DPARAVIEW_BUILD_EDITION=CANONICAL ' +configopts += '-DPARAVIEW_BUILD_WITH_KITS=OFF ' +configopts += '-DPARAVIEW_USE_QT=OFF ' + +# --- tuning --- # +configopts += '-DVTK_BUILD_SCALED_SOA_ARRAYS=ON ' +configopts += '-DVTK_DISPATCH_SOA_ARRAYS=ON ' +configopts += '-DVTK_DISPATCH_TYPED_ARRAYS=ON ' + +# --- web --- # +configopts += '-DPARAVIEW_ENABLE_WEB=ON ' +configopts += '-DPARAVIEW_USE_QTWEBENGINE=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_PVWebPython=YES ' + +# --- python --- # +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python " + +configopts += '-DVTK_PYTHON_VERSION=3 ' +configopts += '-DVTK_NO_PYTHON_THREADS=OFF ' +configopts += '-DVTK_PYTHON_FULL_THREADSAFE=OFF ' # visibility depends on VTK_NO_PYTHON_THREADS=OFF +# If you pass VTK_PYTHON_FULL_THREADSAFE to true, then each and every call to python will be protected with GIL, +# ensuring that you can have eg. other python interpreter in your application and still use python wrapping in vtk. + +# --- VTKm --- # +configopts += '-DPARAVIEW_USE_VTKM=ON ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters=YES ' +configopts += '-DVTKm_Vectorization=AVX2 ' +# configopts += '-DVTKm_ENABLE_KOKKOS=OFF ' +# configopts += '-DVTKm_ENABLE_TBB=OFF ' +# configopts += '-DVTKm_ENABLE_CUDA=ON ' +# configopts += '-DVTKm_ENABLE_LOGGING=ON ' + +# --- parallel (on-node) --- # +# https://blog.kitware.com/simple-parallel-computing-with-vtksmptools-2/ +configopts += '-DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP ' +configopts += '-DVTK_MAX_THREADS=64 ' +configopts += '-DVTKm_ENABLE_OPENMP=ON ' + +# --- parallel (distributed) --- # +configopts += '-DMPIEXEC_MAX_NUMPROCS=24 ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DVTKm_ENABLE_MPI=ON ' + +# --- IO --- # +configopts += '-DXDMF_BUILD_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_XDMF3=ON ' +configopts += '-DPARAVIEW_ENABLE_ADIOS2=OFF ' # error: adios2.h not found +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderPixie=ON ' # req. ADIOS1 +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderStaging=ON ' # req. ADIOS1 +configopts += '-DVTKm_ENABLE_HDF5_IO=ON ' + +# --- large data --- # +configopts += '-DVTK_USE_64BIT_IDS=ON ' + +# --- rendering --- # + +# OpenGL (hardware) +# https://kitware.github.io/paraview-docs/latest/cxx/Offscreen.html +# If VTK_OPENGL_HAS_EGL or VTK_OPENGL_HAS_OSMESA is ON, the build supports headless rendering, +# otherwise VTK_USE_X must be ON and the build does not support headless, +# but can still support offscreen rendering. +# If VTK_USE_X is OFF, then either VTK_OPENGL_HAS_OSMESA or VTK_OPENGL_HAS_EGL must be ON. +# Then the build does not support onscreen rendering, but only headless rendering. +# If PARAVIEW_BUILD_QT_GUI is ON and VTK_USE_X is ON, while ParaView command line tools won't link against +# or use X calls, Qt will and hence an accessible X server is still needed to run the desktop client. +# If VTK_OPENGL_HAS_OSMESA is ON, and VTK_USE_X is ON, +# then all the OpenGL and OSMesa variables should point to the Mesa libraries. +# Likewise, if VTK_OPENGL_HAS_EGL is ON and VTK_USE_X is ON, then all the OpenGL and EGL variables +# should point to the system libraries providing both, typically the NVidia libraries. + +configopts += '-DOpenGL_GL_PREFERENCE=GLVND ' +configopts += '-DVTK_REPORT_OPENGL_ERRORS_IN_RELEASE_BUILDS=OFF ' + +configopts += "-DOPENGL_INCLUDE_DIR=${EBROOTOPENGL}/include " +configopts += "-DOPENGL_GLX_INCLUDE_DIR=${EBROOTOPENGL}/include " +configopts += "-DOPENGL_EGL_INCLUDE_DIR=${EBROOTOPENGL}/include " +# configopts += "-DOPENGL_xmesa_INCLUDE_DIR=IGNORE " + +configopts += "-DOPENGL_opengl_LIBRARY=${EBROOTOPENGL}/lib/libOpenGL.so.0 " +configopts += "-DOPENGL_gl_LIBRARY=${EBROOTOPENGL}/lib/libGL.so " +configopts += "-DOPENGL_glx_LIBRARY=${EBROOTOPENGL}/lib/libGLX.so.0 " +configopts += "-DOPENGL_glu_LIBRARY=${EBROOTOPENGL}/lib/libGLU.so " +configopts += "-DOPENGL_egl_LIBRARY=${EBROOTOPENGL}/lib/libEGL.so.1 " + +# OpenGL over X +# configopts += '-DVTK_USE_X=ON ' # OFF:headless rendering +# already considered by Qt (https://gitlab.kitware.com/lorensen/vtk/commit/b29f6db3f746d84f830c81e4212e48db192e4dbb) +# configopts += '-DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=OFF ' +# configopts += '-DVTK_OPENGL_HAS_OSMESA=OFF ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D + +# EGL (off-screen rendering with OpenGL, but without the need for X) +# call pvserver with –egl-device-index=0 or 1 and –disable-xdisplay-test +configopts += '-DVTK_OPENGL_HAS_EGL=ON ' +configopts += '-DVTK_OPENGL_HAS_OSMESA=OFF ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D +configopts += '-DVTK_USE_X=OFF ' +configopts += '-DVTK_DEFAULT_EGL_DEVICE_INDEX=0 ' +# configopts += '-DEGL_INCLUDE_DIR=${EBROOTOPENGL}/include/EGL/ ' # https://www.khronos.org/registry/EGL/ +# configopts += '-DEGL_LIBRARY=${EBROOTOPENGL}/lib/libEGL.so.1 ' +# configopts += '-DEGL_opengl_LIBRARY=${EBROOTOPENGL}/lib/libOpenGL.so.0 ' +# configopts += '-DEGL_gldispatch_LIBRARY=${EBROOTOPENGL}/lib/libGLdispatch.so.0 ' # <path_to_libGLdispatch.so.0> + +# OSMesa (software) +# With OSMesa the DISPLAY variable has no meaning and is not needed +# When ON, implies that ParaView can use OSMesa to support headless modes of operation. +# configopts += '-DVTK_OPENGL_HAS_OSMESA=ON ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D +# configopts += '-DVTK_USE_X=OFF ' +# configopts += '-DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=ON ' +# configopts += '-DOSMESA_INCLUDE_DIR=${EBROOTOPENGL}/include ' +# configopts += '-DOSMESA_LIBRARY=${EBROOTOPENGL}/lib/libOSMesa.so ' + +# Raytracing +configopts += '-DPARAVIEW_ENABLE_RAYTRACING=ON ' +configopts += '-DVTK_ENABLE_OSPRAY=ON ' +configopts += '-DVTK_ENABLE_VISRTX=OFF ' + +configopts += "-Dospray_DIR=${EBROOTOSPRAY} " +configopts += "-Dembree_DIR=${EBROOTEMBREE}/lib64/cmake/embree-3.12.2 " +configopts += '-DVTKOSPRAY_ENABLE_DENOISER=ON ' + +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX=YES ' + +# --- extra features --- # +configopts += '-DPARAVIEW_PLUGIN_ENABLE_GeographicalMap=ON ' + +configopts += "-DFFMPEG_ROOT=$EBROOTFFMPEG " +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DVTK_MODULE_ENABLE_VTK_IOFFMPEG=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_IOVideo=YES ' + +configopts += '-DVTK_MODULE_ENABLE_VTK_DICOMParser=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersReebGraph=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersSMP=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersSelection=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersTopology=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersTexture=YES ' +# configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersStatisticsGnu=YES ' +# configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersMatlab=YES ' + +# --- coupling --- # +configopts += '-DCATALYST_BUILD_TOOLS=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_InSitu=YES ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_PythonCatalyst=YES ' + +# --- development & testing --- # +configopts += '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON ' +configopts += '-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=OFF ' +configopts += '-DPARAVIEW_BUILD_EXAMPLES=OFF ' +configopts += '-DPARAVIEW_BUILD_TESTING=WANT ' +configopts += '-DPARAVIEW_BUILD_VTK_TESTING=WANT ' + +# --- external data --- # +# https://cmake.org/cmake/help/latest/module/ExternalData.html +# https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md +# configopts += '-DExternalData_TIMEOUT_INACTIVITY=10 ' # download inactivity, 0 = no timeout +# configopts += '-DExternalData_TIMEOUT_ABSOLUTE=60 ' # download abs. time, 0 = no timeout +configopts += '-DPARAVIEW_DATA_EXCLUDE_FROM_ALL=ON ' # Exclude test data download from default 'all' target. +# Local directory holding ExternalData objects in the layout %(algo)/%(hash). +configopts += '-DPARAVIEW_DATA_STORE=${EBROOTPARAVIEWDATA}/.ExternalData ' +configopts += '-DVTK_DATA_STORE=${EBROOTVTKDATA}/.ExternalData ' +# Local directory holding the real data files of ExternalData. +configopts += '-DExternalData_BINARY_ROOT=${EBROOTPARAVIEWDATA} ' +# we need to combine VTK and ParaView's External data files as there can only be one ExternalData_BINARY_ROOT + +# --- XDMF options --- # +configopts += '-DXDMF_USE_BZIP2=ON ' +configopts += '-DXDMF_USE_GZIP=ON ' + +# --- VTK external libraries --- # +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON ' + +# --- ParaView Extra-Reader --- # +configopts += '-DPARAVIEW_PLUGIN_ENABLE_ParFlow=OFF ' # nlohmann-bug in Plugins/ParFlow/IO/vtkVectorJSON.h +configopts += '-DPARAVIEW_ENABLE_MOTIONFX=ON ' +# configopts += '-DPARAVIEW_ENABLE_FIDES=ON ' # req. ADIOS2 as dependency +# configopts += '-DPARAVIEW_ENABLE_GDAL=ON ' # req. GDAL as dependency +# configopts += '-DPARAVIEW_ENABLE_LAS=ON ' # req. LAS as dependency +# configopts += '-DPARAVIEW_ENABLE_PDAL=ON ' # req. PDAL as dependency +# configopts += '-DPARAVIEW_ENABLE_OPENVDB=ON ' # req. OpenVDB as dependency + +# https://gitlab.kitware.com/paraview/visitbridge/-/blob/master/databases/CMakeLists.txt +configopts += '-DPARAVIEW_ENABLE_VISITBRIDGE=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_IOVisItBridge=YES ' +# configopts += '-DVISIT_BUILD_READER_Boxlib3D=ON ' # req. external dependency +# configopts += '-DVISIT_BUILD_READER_Mili=ON ' # req. external dependency +# configopts += '-DVISIT_BUILD_READER_Silo=ON ' # req. external dependency +# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7503 +# configopts += '-DVISIT_BUILD_READER_Nek5000=ON ' # MR still open + +postinstallcmds = ['python -m compileall %(installdir)s/lib64/python3.6/site-packages/'] +# 'cp -a %(builddir)s/ParaView-v%(version)s/ %(installdir)s/src', # copy source from build dir to install dir +# '', # move debug info to separate files: +# http://stackoverflow.com/questions/866721/how-to-generate-gcc-debug-symbol-outside-the-build-target +# '', # debugedit -i --base-dir=%(builddir)s/ParaView-v%(version)s --dest-dir= %(installdir)s/src <file.debug> +# # change path to source in debug info + +modextravars = { + 'CUDA_VISIBLE_DEVICES': '0,1', + # OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.3 -> clame to fully support 3.3 + 'MESA_GL_VERSION_OVERRIDE': '3.3', + 'MESA_GLSL_VERSION_OVERRIDE': '330', + # OpenMP will choose an optimum number of threads by default, which is usually the number of cores + # 'OMP_NUM_THREADS': '28', # fix number of threads used by paraview filters and parallel sections in the code + # threads used by ospray - details https://github.com/ospray/ospray/blob/release-2.0.x/ospray/api/Device.cpp#L88 + # unset => OSPRAY uses all hardware threads + # 'OSPRAY_THREADS': '14', # OSPRay < 2.0 + # 'OSPRAY_NUM_THREADS': '14', # OSPRay >= 2.0 + # When TBB is used for OSPRAY: tbb::task_scheduler_init::default_num_threads() is default if no OSPRAY_NUM_THREADS + # https://github.com/ospray/ospcommon/blob/master/ospcommon/tasking/detail/tasking_system_init.cpp#L47 + # https://www.threadingbuildingblocks.org/docs/doxygen/a00150.html + # more ospray definitions: https://www.ospray.org/documentation.html#environment-variables + 'KNOB_MAX_WORKER_THREADS': '65535', # max. threads used by OpenSWR (limited by number of hardware threads) + # details in https://gitlab.version.fz-juelich.de/vis/vis-software/issues/14 + # more knob defs: https://github.com/mesa3d/mesa/blob/master/src/gallium/docs/source/drivers/openswr/knobs.rst +} + +modextrapaths = {'PYTHONPATH': 'lib64/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/ParaView/ParaView-5.10.0-gpsmkl-2021b.eb b/Golden_Repo/p/ParaView/ParaView-5.10.0-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..3f0ec5437cc7f934858b13da7e2c27984e581337 --- /dev/null +++ b/Golden_Repo/p/ParaView/ParaView-5.10.0-gpsmkl-2021b.eb @@ -0,0 +1,305 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.10.0' + +homepage = "http://www.paraview.org" +description = "Paraview is a scientific parallel visualizer." + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +local_dwnlsfx_src = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=Sources&downloadFile=' +source_urls = [('http://www.paraview.org/paraview-downloads/%s' % local_dwnlsfx_src)] +sources = [("ParaView-v%(version)s.tar.gz")] +checksums = [('sha256', '4273dd90c858a6440a72d9c1ad054e76f336446138c895148a797b486603afbd')] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), + ('git', '2.33.1', '-nodocs'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Boost', '1.78.0'), + ('X11', '20210802'), + ('bzip2', '1.0.8'), + ('HDF5', '1.12.1'), + ('ADIOS2', '2.7.1'), + ('FFmpeg', '4.4.1'), + ('Embree', '3.13.2'), + ('OSPRay', '2.8.0'), + ('libpng', '1.6.37'), + ('expat', '2.4.1'), + ('freetype', '2.11.0'), + ('libjpeg-turbo', '2.1.1'), + ('libxml2', '2.9.10'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('netCDF', '4.8.1'), + ('netCDF-C++4', '4.3.1'), + ('netCDF-Fortran', '4.5.3'), + ('nlohmann-json', '3.10.4'), # for ParFlow plugin + ('mpi4py', '3.1.3'), + ('double-conversion', '3.1.6'), + ('Eigen', '3.3.9'), + ('Qt5', '5.15.2'), + ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('OpenGL', '2021b'), + ('ParaViewData', '%(version)s', '', SYSTEM), + ('VTKData', '9.1.0', '', SYSTEM), +] + +separate_build_dir = True + +######################################################################################## +# check ParaView Superbuild options # +# https://gitlab.kitware.com/paraview/paraview-superbuild/tree/master # +# # +# check ParaView Build documenation # +# https://gitlab.kitware.com/paraview/paraview/blob/master/Documentation/dev/build.md # +######################################################################################## + +# --- general settings --- # +configopts = '-DCMAKE_VERBOSE_MAKEFILE=ON ' +configopts += '-DCMAKE_CXX_STANDARD=11 ' +configopts += '-DPARAVIEW_BUILD_LEGACY_SILENT=ON ' + +# https://forum.openframeworks.cc/t/nvidia-drivers-pthreads-and-segfaults/2524 +# configopts += '-DCMAKE_CXX_FLAGS="-lpthread $CMAKE_CXX_FLAGS" ' +# configopts += '-DCMAKE_C_FLAGS="-lpthread $CMAKE_C_FLAGS" ' + +configopts += '-DPARAVIEW_BUILD_EDITION=CANONICAL ' +configopts += '-DPARAVIEW_BUILD_WITH_KITS=OFF ' +configopts += '-DPARAVIEW_USE_QT=ON ' + +# --- tuning --- # +configopts += '-DVTK_BUILD_SCALED_SOA_ARRAYS=ON ' +configopts += '-DVTK_DISPATCH_SOA_ARRAYS=ON ' +configopts += '-DVTK_DISPATCH_TYPED_ARRAYS=ON ' + +# --- web --- # +configopts += '-DPARAVIEW_ENABLE_WEB=ON ' +configopts += '-DPARAVIEW_USE_QTWEBENGINE=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_PVWebPython=YES ' + +# --- python --- # +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python " + +configopts += '-DVTK_PYTHON_VERSION=3 ' +configopts += '-DVTK_NO_PYTHON_THREADS=OFF ' +configopts += '-DVTK_PYTHON_FULL_THREADSAFE=OFF ' # visibility depends on VTK_NO_PYTHON_THREADS=OFF +# If you pass VTK_PYTHON_FULL_THREADSAFE to true, then each and every call to python will be protected with GIL, +# ensuring that you can have eg. other python interpreter in your application and still use python wrapping in vtk. + +# --- VTKm --- # +configopts += '-DPARAVIEW_USE_VTKM=ON ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters=YES ' +configopts += '-DVTKm_Vectorization=AVX2 ' +# configopts += '-DVTKm_ENABLE_KOKKOS=OFF ' +# configopts += '-DVTKm_ENABLE_TBB=OFF ' +# configopts += '-DVTKm_ENABLE_CUDA=ON ' +# configopts += '-DVTKm_ENABLE_LOGGING=ON ' + +# --- parallel (on-node) --- # +# https://blog.kitware.com/simple-parallel-computing-with-vtksmptools-2/ +configopts += '-DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP ' +configopts += '-DVTK_MAX_THREADS=64 ' +configopts += '-DVTKm_ENABLE_OPENMP=ON ' + +# --- parallel (distributed) --- # +configopts += '-DMPIEXEC_MAX_NUMPROCS=24 ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DVTKm_ENABLE_MPI=ON ' + +# --- IO --- # +configopts += '-DXDMF_BUILD_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_XDMF3=ON ' +configopts += '-DPARAVIEW_ENABLE_ADIOS2=OFF ' # error: adios2.h not found +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderPixie=ON ' # req. ADIOS1 +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderStaging=ON ' # req. ADIOS1 +configopts += '-DVTKm_ENABLE_HDF5_IO=ON ' + +# --- large data --- # +configopts += '-DVTK_USE_64BIT_IDS=ON ' + +# --- rendering --- # + +# OpenGL (hardware) +# https://kitware.github.io/paraview-docs/latest/cxx/Offscreen.html +# If VTK_OPENGL_HAS_EGL or VTK_OPENGL_HAS_OSMESA is ON, the build supports headless rendering, +# otherwise VTK_USE_X must be ON and the build does not support headless, +# but can still support offscreen rendering. +# If VTK_USE_X is OFF, then either VTK_OPENGL_HAS_OSMESA or VTK_OPENGL_HAS_EGL must be ON. +# Then the build does not support onscreen rendering, but only headless rendering. +# If PARAVIEW_BUILD_QT_GUI is ON and VTK_USE_X is ON, while ParaView command line tools won't link against +# or use X calls, Qt will and hence an accessible X server is still needed to run the desktop client. +# If VTK_OPENGL_HAS_OSMESA is ON, and VTK_USE_X is ON, +# then all the OpenGL and OSMesa variables should point to the Mesa libraries. +# Likewise, if VTK_OPENGL_HAS_EGL is ON and VTK_USE_X is ON, then all the OpenGL and EGL variables +# should point to the system libraries providing both, typically the NVidia libraries. + +configopts += '-DOpenGL_GL_PREFERENCE=GLVND ' +configopts += '-DVTK_REPORT_OPENGL_ERRORS_IN_RELEASE_BUILDS=OFF ' + +configopts += "-DOPENGL_INCLUDE_DIR=${EBROOTOPENGL}/include " +configopts += "-DOPENGL_GLX_INCLUDE_DIR=${EBROOTOPENGL}/include " +configopts += "-DOPENGL_EGL_INCLUDE_DIR=${EBROOTOPENGL}/include " +# configopts += "-DOPENGL_xmesa_INCLUDE_DIR=IGNORE " + +configopts += "-DOPENGL_opengl_LIBRARY=${EBROOTOPENGL}/lib/libOpenGL.so.0 " +configopts += "-DOPENGL_gl_LIBRARY=${EBROOTOPENGL}/lib/libGL.so " +configopts += "-DOPENGL_glx_LIBRARY=${EBROOTOPENGL}/lib/libGLX.so.0 " +configopts += "-DOPENGL_glu_LIBRARY=${EBROOTOPENGL}/lib/libGLU.so " +configopts += "-DOPENGL_egl_LIBRARY=${EBROOTOPENGL}/lib/libEGL.so.1 " + +# OpenGL over X +configopts += '-DVTK_USE_X=ON ' # OFF:headless rendering +# already considered by Qt (https://gitlab.kitware.com/lorensen/vtk/commit/b29f6db3f746d84f830c81e4212e48db192e4dbb) +configopts += '-DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=OFF ' +configopts += '-DVTK_OPENGL_HAS_OSMESA=OFF ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D + +# EGL (off-screen rendering with OpenGL, but without the need for X) +# call pvserver with –egl-device-index=0 or 1 and –disable-xdisplay-test +# configopts += '-DVTK_OPENGL_HAS_EGL=ON ' +# configopts += '-DVTK_OPENGL_HAS_OSMESA=OFF ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D +# configopts += '-DVTK_USE_X=OFF ' +# configopts += '-DVTK_DEFAULT_EGL_DEVICE_INDEX=0 ' +# #configopts += '-DEGL_INCLUDE_DIR=${EBROOTOPENGL}/include/EGL/ ' # https://www.khronos.org/registry/EGL/ +# #configopts += '-DEGL_LIBRARY=${EBROOTOPENGL}/lib/libEGL.so.1 ' +# #configopts += '-DEGL_opengl_LIBRARY=${EBROOTOPENGL}/lib/libOpenGL.so.0 ' +# #configopts += '-DEGL_gldispatch_LIBRARY=${EBROOTOPENGL}/lib/libGLdispatch.so.0 ' # <path_to_libGLdispatch.so.0> + +# OSMesa (software) +# With OSMesa the DISPLAY variable has no meaning and is not needed +# When ON, implies that ParaView can use OSMesa to support headless modes of operation. +# configopts += '-DVTK_OPENGL_HAS_OSMESA=ON ' # http://www.paraview.org/Wiki/ParaView_And_Mesa_3D +# configopts += '-DVTK_USE_X=OFF ' +# configopts += '-DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=ON ' +# configopts += '-DOSMESA_INCLUDE_DIR=${EBROOTOPENGL}/include ' +# configopts += '-DOSMESA_LIBRARY=${EBROOTOPENGL}/lib/libOSMesa.so ' + +# Raytracing +configopts += '-DPARAVIEW_ENABLE_RAYTRACING=ON ' +configopts += '-DVTK_ENABLE_OSPRAY=ON ' +configopts += '-DVTK_ENABLE_VISRTX=OFF ' + +configopts += "-Dospray_DIR=${EBROOTOSPRAY} " +configopts += "-Dembree_DIR=${EBROOTEMBREE}/lib64/cmake/embree-3.12.2 " +configopts += '-DVTKOSPRAY_ENABLE_DENOISER=ON ' + +# configopts += '-DPARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX=YES ' + +# --- extra features --- # +configopts += '-DPARAVIEW_PLUGIN_ENABLE_GeographicalMap=ON ' + +configopts += "-DFFMPEG_ROOT=$EBROOTFFMPEG " +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DVTK_MODULE_ENABLE_VTK_IOFFMPEG=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_IOVideo=YES ' + +configopts += '-DVTK_MODULE_ENABLE_VTK_DICOMParser=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersReebGraph=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersSMP=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersSelection=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersTopology=YES ' +configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersTexture=YES ' +# configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersStatisticsGnu=YES ' +# configopts += '-DVTK_MODULE_ENABLE_VTK_FiltersMatlab=YES ' + +# --- coupling --- # +configopts += '-DCATALYST_BUILD_TOOLS=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_InSitu=YES ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_PythonCatalyst=YES ' + +# --- development & testing --- # +configopts += '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON ' +configopts += '-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=OFF ' +configopts += '-DPARAVIEW_BUILD_EXAMPLES=OFF ' +configopts += '-DPARAVIEW_BUILD_TESTING=WANT ' +configopts += '-DPARAVIEW_BUILD_VTK_TESTING=WANT ' + +# --- external data --- # +# https://cmake.org/cmake/help/latest/module/ExternalData.html +# https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md +configopts += '-DCTEST_TEST_TIMEOUT=10800 ' +configopts += '-DExternalData_TIMEOUT_INACTIVITY=10 ' # download inactivity, 0 = no timeout +configopts += '-DExternalData_TIMEOUT_ABSOLUTE=60 ' # download abs. time, 0 = no timeout +configopts += '-DPARAVIEW_DATA_EXCLUDE_FROM_ALL=ON ' # Exclude test data download from default 'all' target. +# Local directory holding ExternalData objects in the layout %(algo)/%(hash). +configopts += '-DPARAVIEW_DATA_STORE=${EBROOTPARAVIEWDATA}/.ExternalData ' +configopts += '-DVTK_DATA_STORE=${EBROOTVTKDATA}/.ExternalData ' +# Local directory holding the real data files of ExternalData. +configopts += '-DExternalData_BINARY_ROOT=${EBROOTPARAVIEWDATA} ' +# we need to combine VTK and ParaView's External data files as there can only be one ExternalData_BINARY_ROOT + +# --- XDMF options --- # +configopts += '-DXDMF_USE_BZIP2=ON ' +configopts += '-DXDMF_USE_GZIP=ON ' + +# --- VTK external libraries --- # +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON ' +configopts += '-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON ' + +# --- ParaView Extra-Reader --- # +configopts += '-DPARAVIEW_PLUGIN_ENABLE_ParFlow=OFF ' # nlohmann-bug in Plugins/ParFlow/IO/vtkVectorJSON.h +configopts += '-DPARAVIEW_ENABLE_MOTIONFX=ON ' +# configopts += '-DPARAVIEW_ENABLE_FIDES=ON ' # req. ADIOS2 as dependency +# configopts += '-DPARAVIEW_ENABLE_GDAL=ON ' # req. GDAL as dependency +# configopts += '-DPARAVIEW_ENABLE_LAS=ON ' # req. LAS as dependency +# configopts += '-DPARAVIEW_ENABLE_PDAL=ON ' # req. PDAL as dependency +# configopts += '-DPARAVIEW_ENABLE_OPENVDB=ON ' # req. OpenVDB as dependency + +# https://gitlab.kitware.com/paraview/visitbridge/-/blob/master/databases/CMakeLists.txt +configopts += '-DPARAVIEW_ENABLE_VISITBRIDGE=ON ' +configopts += '-DVTK_MODULE_ENABLE_ParaView_IOVisItBridge=YES ' +# configopts += '-DVISIT_BUILD_READER_Boxlib3D=ON ' # req. external dependency +# configopts += '-DVISIT_BUILD_READER_Mili=ON ' # req. external dependency +# configopts += '-DVISIT_BUILD_READER_Silo=ON ' # req. external dependency +# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7503 +# configopts += '-DVISIT_BUILD_READER_Nek5000=ON ' # MR still open + +postinstallcmds = ['python -m compileall %(installdir)s/lib64/python3.6/site-packages/'] +# 'cp -a %(builddir)s/ParaView-v%(version)s/ %(installdir)s/src', # copy source from build dir to install dir +# '', # move debug info to separate files: +# http://stackoverflow.com/questions/866721/how-to-generate-gcc-debug-symbol-outside-the-build-target +# '', # debugedit -i --base-dir=%(builddir)s/ParaView-v%(version)s --dest-dir= %(installdir)s/src <file.debug> +# # change path to source in debug info + +modextravars = { + 'CUDA_VISIBLE_DEVICES': '0,1', + # OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.3 -> clame to fully support 3.3 + 'MESA_GL_VERSION_OVERRIDE': '3.3', + 'MESA_GLSL_VERSION_OVERRIDE': '330', + # OpenMP will choose an optimum number of threads by default, which is usually the number of cores + # 'OMP_NUM_THREADS': '28', # fix number of threads used by paraview filters and parallel sections in the code + # threads used by ospray - details https://github.com/ospray/ospray/blob/release-2.0.x/ospray/api/Device.cpp#L88 + # unset => OSPRAY uses all hardware threads + # 'OSPRAY_THREADS': '14', # OSPRay < 2.0 + # 'OSPRAY_NUM_THREADS': '14', # OSPRay >= 2.0 + # When TBB is used for OSPRAY: tbb::task_scheduler_init::default_num_threads() is default if no OSPRAY_NUM_THREADS + # https://github.com/ospray/ospcommon/blob/master/ospcommon/tasking/detail/tasking_system_init.cpp#L47 + # https://www.threadingbuildingblocks.org/docs/doxygen/a00150.html + # more ospray definitions: https://www.ospray.org/documentation.html#environment-variables + 'KNOB_MAX_WORKER_THREADS': '65535', # max. threads used by OpenSWR (limited by number of hardware threads) + # details in https://gitlab.version.fz-juelich.de/vis/vis-software/issues/14 + # more knob defs: https://github.com/mesa3d/mesa/blob/master/src/gallium/docs/source/drivers/openswr/knobs.rst +} + +modextrapaths = {'PYTHONPATH': 'lib64/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/ParaViewData/ParaViewData-5.10.0.eb b/Golden_Repo/p/ParaViewData/ParaViewData-5.10.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..b7cdce96fc8c0b9140886b08f2aec46779dd47c2 --- /dev/null +++ b/Golden_Repo/p/ParaViewData/ParaViewData-5.10.0.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'ParaViewData' +version = '5.10.0' + +homepage = 'https://www.paraview.org' +description = "Testdata for ParaView" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +local_dwnlsfx_src = 'download.php?submit=Download&version=v%(version_major_minor)s&type=data&os=Sources&downloadFile=' +source_urls = [('https://www.paraview.org/paraview-downloads/%s' % local_dwnlsfx_src)] +sources = [ + ('ParaViewTestingDataFiles-v%(version)s.tar.gz'), + ('ParaViewTestingDataStore-v%(version)s.tar.gz'), +] +checksums = [ + ('sha256', 'd6383b5be6090fd6584d209c1f06522b6c53ec1e1ded7fdb74b6361515a3f491'), + ('sha256', 'fdca5b15a14742d7e4344e6de694c318b4f0ceb3a8bdf324134eddc2a0f20c95'), +] + +sanity_check_paths = { + 'files': ['.ExternalData/README.rst'], + 'dirs': ['.ExternalData', 'Clients', 'Plugins', 'Remoting', 'Testing', 'VTKExtensions'], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/ParaViewPlugin-Nek5000/ParaViewPlugin-Nek5000-1.0-gpsmkl-2021b.eb b/Golden_Repo/p/ParaViewPlugin-Nek5000/ParaViewPlugin-Nek5000-1.0-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..ffc93f6995af3b21278c7afc7de219d4b9b4e0a7 --- /dev/null +++ b/Golden_Repo/p/ParaViewPlugin-Nek5000/ParaViewPlugin-Nek5000-1.0-gpsmkl-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'ParaViewPlugin-Nek5000' +version = '20201117' + +homepage = "http://www.paraview.org" +description = "Plugin for ParaView. Paraview is a scientific parallel visualizer." + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jfavre/ParaViewNek5000Plugin/archive/'] +sources = ['74b8b63abaa7f61ef9556a3e178010324e3858f5.tar.gz'] +checksums = [('sha256', 'a42ce28a3c5c27d900b3b9d13b501d2b5ed896ae8e112eec2c61f9663f725450')] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), +] + +dependencies = [ + ('ParaView', '5.10.0'), +] + +separate_build_dir = True + +modextrapaths = {'PV_PLUGIN_PATH': '.'} + +sanity_check_paths = { + 'files': ['include/vtkNek5000Reader.h', 'lib/paraview-5.10/plugins/pvNek5000Reader/libNek5000Reader.so'], + 'dirs': ['include', 'lib', 'lib/paraview-5.10/plugins/pvNek5000Reader'] +} + +moduleclass = 'vis' diff --git a/Golden_Repo/s/SZ/SZ-2.1.12-GCCcore-11.2.0.eb b/Golden_Repo/s/SZ/SZ-2.1.12-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..9d5d3edbf06906fa9db1969e2f8ad8a2aa0f36d3 --- /dev/null +++ b/Golden_Repo/s/SZ/SZ-2.1.12-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'SZ' +version = '2.1.12' + +homepage = 'https://szcompressor.org' +description = """SZ is a modular parametrizable lossy compressor framework +for scientific data (floating point and integers).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'szcompressor' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3712b2cd7170d1511569e48a208f02dfb72ecd7ad053c321e2880b9083e150de'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('HDF5', '1.12.1', '-serial'), + ('netCDF', '4.8.1', '-serial'), +] + +separate_build_dir = True + +configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON " + +configopts += "-DBUILD_FORTRAN=ON " +configopts += "-DBUILD_HDF5_FILTER=ON " +configopts += "-DBUILD_NETCDF_READER=ON " +configopts += "-DBUILD_OPENMP=ON " + +sanity_check_paths = { + 'files': ['bin/sz', 'lib/libSZ.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'data' diff --git a/Golden_Repo/v/VTKData/VTKData-9.1.0.eb b/Golden_Repo/v/VTKData/VTKData-9.1.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..b7bffaf589943b9dcca119a5e20699624e3275d6 --- /dev/null +++ b/Golden_Repo/v/VTKData/VTKData-9.1.0.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'VTKData' +version = '9.1.0' + +homepage = 'https://vtk.org' +description = "Testdata for VTK" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [('https://www.vtk.org/files/release/%(version_major_minor)s/')] +sources = [ + ('VTKData-%(version)s.tar.gz'), + ('VTKDataFiles-%(version)s.tar.gz'), + ('VTKLargeData-%(version)s.tar.gz'), + ('VTKLargeDataFiles-%(version)s.tar.gz'), +] +checksums = [ + ('sha256', 'b9442cf1c30e1e44502e6dc36d3c6c2dc3d3f7d03306ee1d10737e9abadaa85d'), + ('sha256', 'c777b3d2e42e67b079170a8b0ab7aab5ab8f40d93332792c41cf20ada0cab17a'), + ('sha256', '23c86546d8cade8129e45fe23cee8b3ff448a992fd01708cce2019a01d534872'), + ('sha256', '79638c7caf247962e35aa17b1b7f5e746589ee266cb911695739b3677320c62d'), +] + +sanity_check_paths = { + 'files': ['.ExternalData/README.rst'], + 'dirs': ['.ExternalData', 'Common', 'Examples', 'Filters', 'IO', 'Parallel', 'Rendering', 'Testing'], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/z/zfp/zfp-0.5.5-GCCcore-11.2.0.eb b/Golden_Repo/z/zfp/zfp-0.5.5-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..f63e62786a92ac3e4c57d28bf905c413f59cab25 --- /dev/null +++ b/Golden_Repo/z/zfp/zfp-0.5.5-GCCcore-11.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'zfp' +version = '0.5.5' + +homepage = "https://github.com/LLNL/zfp" +description = """Optionally error-bounded lossy compressor for HPC data +with high throughput read and write random access to individual array elements.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['6a7f4934489087d9c117a4af327fd6495ea757924f4df467b9c537abf8bd86c4'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +separate_build_dir = True + +configopts = '-DBUILD_SHARED_LIBS:BOOL=ON ' +configopts += '-DBUILD_EXAMPLES:BOOL=OFF ' +configopts += '-DBUILD_TESTING:BOOL=OFF ' + +configopts += '-DZFP_WITH_OPENMP:BOOL=ON ' +configopts += '-DZFP_WITH_CUDA:BOOL=OFF ' + +configopts += '-DBUILD_CFP:BOOL=ON ' +configopts += '-DBUILD_ZFPY:BOOL=OFF ' # fails +configopts += '-DBUILD_ZFORP:BOOL=ON ' + +configopts += '-DBUILD_UTILITIES:BOOL=ON ' +configopts += '-DCMAKE_C_STANDARD_LIBRARIES="-lm" ' # needed to link UTILITIES + +# create pkgconfig file +postinstallcmds = [ + "mkdir -p %(installdir)s/lib/pkgconfig", + """echo -e "prefix=%(installdir)s +libdir=\${prefix}/lib64 +includedir=\${prefix}/include +Name: %(name)s +Description: %(name)s compression library +Version: %(version)s +Requires: +Libs: -L\${libdir} -lzfp -lcfp +Cflags: -I\${includedir}" > %(installdir)s/lib/pkgconfig/%(name)s.pc""", +] + +sanity_check_paths = { + 'files': ['lib64/libzfp.so', 'lib64/libcfp.so', 'include/zfp.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib'