diff --git a/c/Critic2/Critic2-1.1stable-intel-2020b.eb b/c/Critic2/Critic2-1.1stable-intel-2020b.eb new file mode 100644 index 00000000..e4555967 --- /dev/null +++ b/c/Critic2/Critic2-1.1stable-intel-2020b.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'Critic2' +version = '1.1stable' + +homepage = 'https://aoterodelaroza.github.io/critic2/' +description = """Critic2 is a program for the analysis of quantum mechanical +calculation results in molecules and periodic solids.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'extra_fflags': '-ffree-line-length-none'} + +source_urls = ['https://github.com/aoterodelaroza/critic2/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e889fe7ca60c59e0e03f1dc27ed14dea0dc97cb63d3066a10b0ebe3e7b347042'] + +preconfigopts = 'autoreconf --force -i && ' + +sanity_check_paths = { + 'files': ["bin/critic2"], + 'dirs': ["bin"], +} + +moduleclass = 'chem' diff --git a/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb b/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb index aaf38cf5..dd013a9f 100644 --- a/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb +++ b/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb @@ -15,6 +15,7 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = [ 'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa'] # AMD/intel cpu import os diff --git a/l/libcint/libcint-5.5.0-gfbf-2023b.eb b/l/libcint/libcint-5.5.0-gfbf-2023b.eb new file mode 100644 index 00000000..aed56ade --- /dev/null +++ b/l/libcint/libcint-5.5.0-gfbf-2023b.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'libcint' +version = '5.5.0' + +homepage = 'https://github.com/sunqm/libcint' +description = "libcint is an open source library for analytical Gaussian integrals." + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/sunqm/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-4.4.0_remove_pyscftest.patch'] +checksums = [ + {'v5.5.0.tar.gz': 'c822a9a454587d935287de0f64a2c2cf5338323a554a3f34bcfb4a2892daf477'}, + {'libcint-4.4.0_remove_pyscftest.patch': '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +configopts = "-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on" + +buildopts = 'VERBOSE=1' + +runtest = "test " +separate_build_dir = False # Must use the same directory for tests + +sanity_check_paths = { + 'files': ['include/cint.h', 'lib/%(name)s.so'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/l/libxc/libxc-4.3.4-foss-2023b.eb b/l/libxc/libxc-4.3.4-foss-2023b.eb new file mode 100644 index 00000000..8408422d --- /dev/null +++ b/l/libxc/libxc-4.3.4-foss-2023b.eb @@ -0,0 +1,56 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'libxc' +version = '4.3.4' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/'] +sources = ['libxc-4.3.4.tar.gz'] +checksums = [ + 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '60e479b0c56df11c6cfdff8bdf4964bc2c7b36d19740b6b2a468b4f3c55af9cc' +] + +patches = [ + #'libxc-%(version)s_rename-F03.patch', + 'libxc-%(version)s.patch' +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Perl', '5.38.0'), +] + +separate_build_dir = True + +# rename *.F03 source file since Intel Fortran local_compiler doesn't like that extension +# also requires patch file to rename file in CMakeLists.txt and src/Makefile.in +preconfigopts = "mv ../libxc-%(version)s/src/libxc_master.F03 ../libxc-%(version)s/src/libxc_master_F03.F90 && " + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info', 'bin/xc-threshold'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' diff --git a/l/libxc/libxc-4.3.4-intel-2020b.eb b/l/libxc/libxc-4.3.4-intel-2020b.eb index 947f870d..03a8d0e6 100644 --- a/l/libxc/libxc-4.3.4-intel-2020b.eb +++ b/l/libxc/libxc-4.3.4-intel-2020b.eb @@ -14,13 +14,18 @@ toolchain = {'name': 'intel', 'version': '2020b'} source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/'] sources = ['libxc-4.3.4.tar.gz'] +checksums = [ + 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '60e479b0c56df11c6cfdff8bdf4964bc2c7b36d19740b6b2a468b4f3c55af9cc' +] + patches = [ #'libxc-%(version)s_rename-F03.patch', 'libxc-%(version)s.patch' ] builddependencies = [ - ('CMake', '3.20.1', '', True), + ('CMake', '3.18.4'), ('Perl', '5.32.0'), ] diff --git a/n/netCDF-Fortran/netCDF-Fortran-4.5.3-intel-2020b.eb b/n/netCDF-Fortran/netCDF-Fortran-4.5.3-intel-2020b.eb index 47b3b957..7c87e380 100644 --- a/n/netCDF-Fortran/netCDF-Fortran-4.5.3-intel-2020b.eb +++ b/n/netCDF-Fortran/netCDF-Fortran-4.5.3-intel-2020b.eb @@ -14,6 +14,7 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] sources = ['v%(version)s.tar.gz'] +checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a'] builddependencies = [ ('M4', '1.4.18'), diff --git a/n/netCDF/netCDF-4.7.4-intel-2020b.eb b/n/netCDF/netCDF-4.7.4-intel-2020b.eb index afd0405f..aa23d572 100644 --- a/n/netCDF/netCDF-4.7.4-intel-2020b.eb +++ b/n/netCDF/netCDF-4.7.4-intel-2020b.eb @@ -15,15 +15,16 @@ sources = ['v%(version)s.tar.gz'] source_urls = [ 'https://github.com/Unidata/netcdf-c/archive/' ] +checksums = ['99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b'] dependencies = [ ('HDF5', '1.10.6', '-parallel'), - ('cURL', '7.76.0', '', True), + ('cURL', '7.72.0'), ('Szip', '2.1.1'), ] builddependencies = [ - ('CMake', '3.20.1', '', True), + ('CMake', '3.18.4'), ('Doxygen', '1.8.20'), ] diff --git a/o/Octopus/Octopus-11.3-intel-2020b-mpi.eb b/o/Octopus/Octopus-11.3-intel-2020b-mpi.eb index 24301920..381d87f5 100644 --- a/o/Octopus/Octopus-11.3-intel-2020b-mpi.eb +++ b/o/Octopus/Octopus-11.3-intel-2020b-mpi.eb @@ -26,6 +26,7 @@ if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://octopus-code.org/down.php?file=%(version)s/'] +checksums = ['0c98417071b5e38ba6cbdd409adf917837c387a010e321c0a7f94d9bd9478930'] builddependencies = [ ('Bison', '3.7.1'), diff --git a/o/OpenMPI/OpenMPI-4.1.6-GCC-12.2.0-CUDA-12.4.0.eb b/o/OpenMPI/OpenMPI-4.1.6-GCC-12.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000..78841465 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.6-GCC-12.2.0-CUDA-12.4.0.eb @@ -0,0 +1,98 @@ +# IT4Innovations +# LK 2024 + +name = 'OpenMPI' +version = '4.1.6' +versionsuffix = '-CUDA-12.4.0' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + {'openmpi-4.1.6.tar.bz2': 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.16.0',), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.3.0'), + ('UCC-CUDA', '1.3.0', '-CUDA-%(cudaver)s'), + ('CUDA', '12.4.0', '', True), +] + +preconfigopts = './autogen.pl --force && ' + +# IT4I-specific settings + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' +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'