diff --git a/a/ADIOS2/ADIOS2-2.9.2-gompi-2020b.eb b/a/ADIOS2/ADIOS2-2.9.2-gompi-2020b.eb new file mode 100644 index 00000000..d7513dba --- /dev/null +++ b/a/ADIOS2/ADIOS2-2.9.2-gompi-2020b.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2023 + +easyblock = "CMakeMake" + +name = "ADIOS2" +version = "2.9.2" + +homepage = 'https://github.com/ornladios/ADIOS2/' +description = """This is ADIOS2: The Adaptable Input/Output (I/O) System. +ADIOS2 is developed as part of the United States Department of Energy's Exascale Computing +Project. It is a framework for scientific data I/O to publish and subscribe to data when +and where required. +ADIOS2 transports data as groups of self-describing variables and attributes across different +media types (such as files, wide-area-networks, and remote direct memory access) using a +common application programming interface for all transport modes. ADIOS2 can be used on +supercomputers, cloud systems, and personal computers. """ + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['https://github.com/ornladios/ADIOS2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['78309297c82a95ee38ed3224c98b93d330128c753a43893f63bbe969320e4979'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('HDF5', '1.10.7'), + ('c-blosc', '1.21.0'), + ('libfabric', '1.11.0'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/adios2-config', 'include/adios2.h', 'include/adios2_c.h'], + 'dirs': ['bin', 'include', 'lib64'] +} + +moduleclass = 'tools' diff --git a/a/ANSYS/ANSYS-2023R2-intel-2022.12-alamerini.eb b/a/ANSYS/ANSYS-2023R2-intel-2022.12-alamerini.eb new file mode 100644 index 00000000..80792e91 --- /dev/null +++ b/a/ANSYS/ANSYS-2023R2-intel-2022.12-alamerini.eb @@ -0,0 +1,37 @@ +# IT4Innovations +# LK 2023 + +name = 'ANSYS' +version = '2023R2' +versionsuffix = '-alamerini' + +homepage = 'http://www.ansys.com' +description = """ANSYS simulation software enables organizations to confidently predict + how their products will operate in the real world. We believe that every product is + a promise of something greater. """ + +toolchain = {'name': 'intel', 'version': '2022.12'} + +sources = [ + {'filename': '%(name)s%(version)s_LINX64_DISK1.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': '%(name)s%(version)s_LINX64_DISK2.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': '%(name)s%(version)s_LINX64_DISK3.iso', 'extract_cmd': '7z x -aos %s'}, +] +checksums = [ + {'ANSYS2023R2_LINX64_DISK1.iso': '4f952592f1f95a6f3715dbaeb6e56b2625f6826a80c5842234406c7741f29e1f'}, + {'ANSYS2023R2_LINX64_DISK2.iso': 'd02fd9e4db1a08dc867b771979f5d9ffa4d69fd94740e60444e856911fb89ce0'}, + {'ANSYS2023R2_LINX64_DISK3.iso': 'd167f30a3cf632a234111e9a398dae6f824cb0eae5a7cb7afa1453474726de4a'}, +] + +#dependencies = [ +# ('libGLU', '9.0.2'), # mame v systemu, pro jistotu zkusime bez protoze stary CentOS +# ('libnsl', '2.0.0'), # moc nove pro CentOS 7!!! +#] + +osdependencies = [('p7zip', 'p7zip-plugins')] + +import os +license_server = os.getenv('EB_ANSYS_LICENSE_SERVER', '150.217.19.70') +license_server_port = os.getenv('EB_ANSYS_LICENSE_SERVER_PORT', '2335:1085') + +moduleclass = 'tools' diff --git a/c/cuTENSOR/cuTENSOR-2.0.0.7-CUDA-12.2.0.eb b/c/cuTENSOR/cuTENSOR-2.0.0.7-CUDA-12.2.0.eb new file mode 100644 index 00000000..0877d8f6 --- /dev/null +++ b/c/cuTENSOR/cuTENSOR-2.0.0.7-CUDA-12.2.0.eb @@ -0,0 +1,36 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'Tarball' + +name = 'cuTENSOR' +version = '2.0.0.7' +versionsuffix = '-CUDA-12.2.0' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['df6338aed18e5b6ae0c49521053d1606d2a41e187d7f5eccf9180af6bbc4ef68'] + +dependencies = [ + ('CUDA', '12.2.0') +] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/12/libcutensor.so', + 'lib/12/libcutensor_static.a'], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/12'], + 'LIBRARY_PATH': ['lib/12'], +} + +moduleclass = 'lib' diff --git a/n/NWChem/NWChem-7.2.2-intel-2020a-Python-3.8.2-karolina.eb b/n/NWChem/NWChem-7.2.2-intel-2020a-Python-3.8.2-karolina.eb new file mode 100644 index 00000000..367daa04 --- /dev/null +++ b/n/NWChem/NWChem-7.2.2-intel-2020a-Python-3.8.2-karolina.eb @@ -0,0 +1,63 @@ +# IT4Innovations +# LK 2023 +# rucni kompilace - viz https://github.com/nwchemgit/nwchem/blob/master/INSTALL +# src/: +# sed -i "s|-xHost|-core-avx2|g" config/makefile-legacy.h +# sed -i "s|-xHost|-core-avx2|g" config/makefile.h +# make nwchem_config NWCHEM_MODULES="all python" +# make USE_INTERNALBLAS=y USE_MPI=y +# +# zkopirovat data: +# cp bin/nwchem -> bin slozka +# cp -r src/basis/libraries -> data slozka +# cp -r src/data/* -> data slozka +# cp -r src/nwpw/libraryps -> data slozka +# eb NWChem-7.0.2-intel-2020a-Python-3.8.2-karolina.eb --module-only + +name = 'NWChem' +version = '7.0.2' +versionsuffix = '-Python-%(pyver)s-karolina' + +homepage = 'http://www.nwchem-sw.org' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'i8': True, 'optarch':'march=core-avx2'} + +source_urls = ['https://github.com/nwchemgit/nwchem/releases/download/v%(version)s-release/'] +sources = ['v%(version)s-release.tar.gz'] +patches = [ + 'NWChem_fix-date.patch', +# 'NWChem-7.0.0_external-ga-peigs-flag.patch', +] + +dependencies = [ +# ('GlobalArrays', '5.7.2'), + ('Python', '3.8.2', '-GCCcore-9.3.0', True), + ('OpenMPI', '4.1.1', '-GCC-10.3.0', True) +] + +preconfigopts = ' export NWCHEM_TOP=%(builddir)s/nwchem-%(version)s-release && ' +preconfigopts += ' touch $NWCHEM_TOP/src/config/nwchem_config.h && ' +preconfigopts += ' sed -i "s|-xHost|-core-avx2|g" $NWCHEM_TOP/src/config/makefile-legacy.h && ' +preconfigopts += 'sed -i "s|-xHost|-core-avx2|g" $NWCHEM_TOP/src/config/makefile.h && ' +preconfigopts += ' make -C "/home/opr0019/.local/easybuild/build/NWChem/7.0.2/intel-2020a-Python-3.8.2/nwchem-7.0.2-release/src" nwchem_config NWCHEM_MODULES="all python" && ' + +configopts = ' USE_INTERNALBLAS=yes USE_MPI=yes ' +buildopts = ' USE_INTERNALBLAS=yes USE_MPI=yes ' + +modules = 'all python' + +moduleclass = 'chem' + +# rucni kompilace +# src/: +# sed -i "s|-xHost|-core-avx2|g" config/makefile-legacy.h +# sed -i "s|-xHost|-core-avx2|g" config/makefile.h +# make nwchem_config NWCHEM_MODULES="all python" +# make USE_INTERNALBLAS=y USE_MPI=y diff --git a/n/NWChem/NWChem-7.2.2-intel-2022a.eb b/n/NWChem/NWChem-7.2.2-intel-2022a.eb new file mode 100644 index 00000000..a9c9222e --- /dev/null +++ b/n/NWChem/NWChem-7.2.2-intel-2022a.eb @@ -0,0 +1,41 @@ +# IT4Innovations +# LK 2023 + +name = 'NWChem' +version = '7.2.2' +local_verdate = '2023-11-03' +local_revision = '74936fb9' + +homepage = 'https://nwchemgit.github.io/' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'i8': True} + +source_urls = ['https://github.com/nwchemgit/nwchem/releases/download/v%(version)s-release/'] +sources = ['nwchem-%%(version)s-release.revision-%s-src.%s.tar.bz2' % (local_revision, local_verdate)] +#patches = [ +# 'NWChem-7.0.2_fix_gnumakefile.patch', +# 'NWChem-7.0.2_fix_for_python_3_10.patch', +#] +checksums = [ + '47f19f2d59e988d33fc4fe067a97da5d15a7ed1167d5acd644dbe84065c19729', +# '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4', # NWChem-7.0.2_fix_gnumakefile.patch +# '2da647217ad72d929f1d495386871a32b7176beb52cbc3dabebbb56abb407e36', # NWChem-7.0.2_fix_for_python_3_10.patch +] + +dependencies = [ + ('GlobalArrays', '5.8.1'), + ('Python', '3.10.4'), +] + +preconfigopts = 'export EXTRA_LIBS=-lutil && ' + +modules = 'all python' + +moduleclass = 'chem' diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-10.2.0-CUDA-11.7.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-10.2.0-CUDA-11.7.0.eb new file mode 100644 index 00000000..0bb58f3f --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-10.2.0-CUDA-11.7.0.eb @@ -0,0 +1,87 @@ +# IT4Innovations +# BS 2023 + +name = 'OpenMPI' +version = '4.1.4' +versionsuffix = '-CUDA-11.7.0' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = [ + '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.32.0'), + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.2.0'), + ('libevent', '2.1.12'), + ('UCX', '1.12.1', '-GCCcore-10.2.0', True), + ('UCX-CUDA', '1.12.1', '-GCCcore-10.2.0-CUDA-11.7.0', True), + ('libfabric', '1.11.0'), + ('PMIx', '3.1.5'), + ('UCC', '1.1.0'), + ('CUDA', '11.7.0', '', True), +] + +preconfigopts = './autogen.pl --force && ' + +# IT4I-specific settings + +configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-slurm ' # Enable slurm +configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-cuda=$EBROOTCUDA ' +#configopts += '--with-pmix=/opt/it4i-libs/PMIx/4.2.6 ' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +postinstallcmds = [ + 'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf', + 'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf', +] + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': [ + "bin/%s" % + binfile for binfile in [ + "ompi_info", "opal_wrapper", "orterun"]] + [ + "lib/lib%s.%s" % + (libfile, SHLIB_EXT) for libfile in local_libs] + [ + "include/%s.h" % + x for x in [ + "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/openPMD-api/openPMD-api-0.15.2-gompi-2020b.eb b/o/openPMD-api/openPMD-api-0.15.2-gompi-2020b.eb new file mode 100644 index 00000000..a1f84f40 --- /dev/null +++ b/o/openPMD-api/openPMD-api-0.15.2-gompi-2020b.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2023 + +easyblock = "CMakeMake" + +name = "openPMD-api" +version = "0.15.2" + +homepage = 'https://github.com/openPMD/openPMD-api' +description = """openPMD is an open meta-data schema that provides meaning and self-description +for data sets in science and engineering. See the openPMD standard for details of this schema. +This library provides a reference API for openPMD data handling. Since openPMD is a schema +(or markup) on top of portable, hierarchical file formats, this library implements various +backends such as HDF5, ADIOS2 and JSON. Writing & reading through those backends and their +associated files are supported for serial and MPI-parallel workflows. +""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['https://github.com/openPMD/openPMD-api/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['fbe3b356fe6f4589c659027c8056844692c62382e3ec53b953bed1c87e58ba13'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ADIOS2', '2.9.2'), +] + +configopts = '-DopenPMD_USE_ADIOS2=ON -DopenPMD_USE_HDF5=ON ' + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/openpmd-ls', 'lib/libopenPMD.so'], + 'dirs': ['bin', 'include', 'lib64'] +} + +moduleclass = 'tools' diff --git a/p/pkgconf/pkgconf-1.8.0-GCCcore-10.2.0.eb b/p/pkgconf/pkgconf-1.8.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000..8544cf88 --- /dev/null +++ b/p/pkgconf/pkgconf-1.8.0-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +# IT4Innovations 2023 +# BS +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +builddependencies = [('binutils', '2.35')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/p/pkgconfig/pkgconf-1.8.0-GCCcore-10.2.0.eb b/p/pkgconfig/pkgconf-1.8.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000..8544cf88 --- /dev/null +++ b/p/pkgconfig/pkgconf-1.8.0-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +# IT4Innovations 2023 +# BS +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +builddependencies = [('binutils', '2.35')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/s/Smilei/Smilei-5.0-intel-2020b-CUDA-12.2.0.eb b/s/Smilei/Smilei-5.0-intel-2020b-CUDA-12.2.0.eb new file mode 100644 index 00000000..600db05d --- /dev/null +++ b/s/Smilei/Smilei-5.0-intel-2020b-CUDA-12.2.0.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'Smilei' +version = '5.0' +versionsuffix = '-CUDA-12.2.0' + +homepage = 'https://github.com/SmileiPIC/Smilei' +description = "Smilei is an open-source, user-friendly electromagnetic particle-in-cell code for the kinetic simulation of plasmas. Co-developed by physicists and computer scientists, it is designed for high-performance on the most recent supercomputing architectures. Smilei is applied to a wide range of applications, from laser-plasma interaction, to accelerator physics, space physics and astrophysics. It is also used at the bachelor and master levels as a teaching platform for plasma physics." + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ["https://github.com/SmileiPIC/Smilei/archive/refs/tags/"] +sources = ["v%(version)s.tar.gz"] +checksums = ['9d92603d31f21d191f61487ec452fcf83d898150bfc10341f1cae241e5eb7826'] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Python', '3.8.6'), + ('CUDA', '12.2.0', '', True), +] + +buildopts = 'config="gpu_nvidia noopenmp"' + +files_to_copy = [(['smilei', 'smilei_test'], 'bin'), "src"] + +sanity_check_paths = { + 'files': [ + 'bin/smilei', + 'bin/smilei_test' + ], + 'dirs': [ + 'bin', + 'src' + ], +} + +moduleclass = 'phys' diff --git a/s/Smilei/Smilei-5.0-intel-2020b.eb b/s/Smilei/Smilei-5.0-intel-2020b.eb new file mode 100644 index 00000000..d8131ddc --- /dev/null +++ b/s/Smilei/Smilei-5.0-intel-2020b.eb @@ -0,0 +1,36 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'Smilei' +version = '5.0' + +homepage = 'https://github.com/SmileiPIC/Smilei' +description = "Smilei is an open-source, user-friendly electromagnetic particle-in-cell code for the kinetic simulation of plasmas. Co-developed by physicists and computer scientists, it is designed for high-performance on the most recent supercomputing architectures. Smilei is applied to a wide range of applications, from laser-plasma interaction, to accelerator physics, space physics and astrophysics. It is also used at the bachelor and master levels as a teaching platform for plasma physics." + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ["https://github.com/SmileiPIC/Smilei/archive/refs/tags/"] +sources = ["v%(version)s.tar.gz"] +checksums = ['9d92603d31f21d191f61487ec452fcf83d898150bfc10341f1cae241e5eb7826'] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Python', '3.8.6'), +] + +files_to_copy = [(['smilei', 'smilei_test'], 'bin'), "src"] + +sanity_check_paths = { + 'files': [ + 'bin/smilei', + 'bin/smilei_test' + ], + 'dirs': [ + 'bin', + 'src' + ], +} + +moduleclass = 'phys' diff --git a/u/UCC/UCC-1.1.0-GCCcore-10.2.0.eb b/u/UCC/UCC-1.1.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000..3291ad3f --- /dev/null +++ b/u/UCC/UCC-1.1.0-GCCcore-10.2.0.eb @@ -0,0 +1,44 @@ +# IT4Innovations +# BS 2023 + +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.1.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-%(version)s-multiple_component_paths.patch'] +checksums = [ + {'v1.1.0.tar.gz': '74c8ba75037b5bd88cb703e8c8ae55639af3fecfd4428912a433c010c97b4df7'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), +] + +dependencies = [ + ('UCX', '1.12.1'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-10.2.0-CUDA-11.7.0.eb b/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-10.2.0-CUDA-11.7.0.eb new file mode 100644 index 00000000..c1a80534 --- /dev/null +++ b/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-10.2.0-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +# IT4Innovations +# BS 2023 +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.12.1.tar.gz': '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('CUDA', '11.7.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/u/UCX/UCX-1.12.1-GCCcore-10.2.0.eb b/u/UCX/UCX-1.12.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000..c00087b8 --- /dev/null +++ b/u/UCX/UCX-1.12.1-GCCcore-10.2.0.eb @@ -0,0 +1,58 @@ +# IT4Innovation 2023 +# BS +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.12.1' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.10.0-dynamic_modules.patch', + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.11.2-missing_header.patch', +] +checksums = [ + '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e', # ucx-1.12.1.tar.gz + '3098c91f2aadc5f148466a2e8756769ad5e99f9515d8cfb6ad8a5712e7433408', # UCX-1.10.0-dynamic_modules.patch + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + 'fa9052a33da5c8e94bc7df0e5fe6ce3baf613310842ae1ab9ed4ef2d49666c01', # UCX-1.11.2-missing_header.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), + ('pkgconf', '1.8.0'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.11'), + ('numactl', '2.0.13'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib'