From a400626e10a53a5ef27ba45ac4a3b219a94ac0c7 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Mon, 10 Mar 2025 12:36:32 +0100 Subject: [PATCH] new file: c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb new file: c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb new file: c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb new file: c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb new file: d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb new file: d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb new file: d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb modified: d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb --- .../CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb | 45 +++++++++ ...RYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb | 45 +++++++++ c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb | 37 +++++++ c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb | 40 ++++++++ .../DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb | 97 +++++++++++++++++++ d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb | 55 +++++++++++ d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb | 48 +++++++++ d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb | 15 ++- 8 files changed, 380 insertions(+), 2 deletions(-) create mode 100644 c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb create mode 100644 c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb create mode 100644 c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb create mode 100644 c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb create mode 100644 d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb create mode 100644 d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb create mode 100644 d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb diff --git a/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb b/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb new file mode 100644 index 00000000..1e7b9801 --- /dev/null +++ b/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-Pdistrib.eb @@ -0,0 +1,45 @@ +# IT4Innovations +# LK 2025 + +easyblock = 'MakeCp' + +name = 'CRYSTAL' +version = '23' +versionsuffix = '-1.0.1-Pdistrib' + +homepage = 'http://www.crystal.unito.it' +description = """The CRYSTAL package performs ab initio calculations of the ground state energy, energy +gradient, electronic wave function and properties of periodic systems. Hartree-Fock or Kohn- +Sham Hamiltonians (that adopt an Exchange-Correlation potential following the postulates of +Density-Functional Theory) can be used.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2'} + +sources = [ + 'crystal23_v1_0_1_Linux-ifort21.4_Pdistrib.tar', + 'utils23.tar', + 'documentation23.tar' +] + +checksums = [ + '130ecac55434d476b9e24dc39b2cdf317bdd45d00631f616d95923ef82f86ac8', + '949d8e7f7c62e92e1e7c82e82a42f0fcd346d4336f175d369e1c8161abf1d2dd', + '4722ea50302a3908d95c4999ecb7ec466ceaeb7bd69688f81121b5752bc2a98c' +] + +prebuildopts = "cd build && " +parallel = 1 + +files_to_copy = [ + (['bin/Linux-ifort_i64/*/*'], 'bin'), + (['utils23/*'], 'utils23'), + (['*.pdf'], 'documentation'), +] + +sanity_check_paths = { + 'files': ['bin/crystal', 'bin/properties'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb b/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb new file mode 100644 index 00000000..247b1278 --- /dev/null +++ b/c/CRYSTAL/CRYSTAL-23-intel-2021b-1.0.1-PdistribOMP.eb @@ -0,0 +1,45 @@ +# IT4Innovations +# LK 2025 + +easyblock = 'MakeCp' + +name = 'CRYSTAL' +version = '23' +versionsuffix = '-1.0.1-PdistribOMP' + +homepage = 'http://www.crystal.unito.it' +description = """The CRYSTAL package performs ab initio calculations of the ground state energy, energy +gradient, electronic wave function and properties of periodic systems. Hartree-Fock or Kohn- +Sham Hamiltonians (that adopt an Exchange-Correlation potential following the postulates of +Density-Functional Theory) can be used.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2'} + +sources = [ + 'crystal23_v1_0_1_Linux-ifort21.4_PdistribOMP.tar', + 'utils23.tar', + 'documentation23.tar' +] +checksums = [ + '90d737792f530e4094b97f1caaa1eea944df882212211c5ebb38676e60af5df3', + '949d8e7f7c62e92e1e7c82e82a42f0fcd346d4336f175d369e1c8161abf1d2dd', + '4722ea50302a3908d95c4999ecb7ec466ceaeb7bd69688f81121b5752bc2a98c' +] + +#prebuildopts = 'tar -xf utils23.tar &&' +prebuildopts = "cd build && " +parallel = 1 + +files_to_copy = [ + (['bin/Linux-ifort_i64_omp/*/*'], 'bin'), + (['utils23/*'], 'utils23'), + (['*.pdf'], 'documentation'), +] + +sanity_check_paths = { + 'files': ['bin/crystalOMP', 'bin/properties'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb b/c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb new file mode 100644 index 00000000..76340a4e --- /dev/null +++ b/c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb @@ -0,0 +1,37 @@ +name = 'cuDNN' +version = '9.5.0.50' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '12' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-%(cudnnarch)s/' +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '494b640a69feb40ce806a726aa63a1de6b2ec459acbe6a116ef6fe3e6b27877d', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '86e4e4f4c09b31d3850b402d94ea52741a2f94c2f717ddc8899a14aca96e032d', +}] + +dependencies = [('CUDA', '12.6.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_static.a', 'lib64/libcudnn_cnn_static.a', + 'lib64/libcudnn_engines_precompiled_static.a', 'lib64/libcudnn_engines_runtime_compiled_static.a', + 'lib64/libcudnn_graph_static.a', 'lib64/libcudnn_heuristic_static.a', 'lib64/libcudnn_ops_static.a', + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb b/c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb new file mode 100644 index 00000000..dda3ae48 --- /dev/null +++ b/c/cuDNN/cuDNN-9.7.1.26-CUDA-12.8.0.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2025 + +name = 'cuDNN' +version = '9.7.1.26' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '12' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-%(cudnnarch)s/' +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '109a5e5c6bcdf4396e6f63f3f862ed2dcf16ee93ee034dc704a1b11bdf00c0b1', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '109a5e5c6bcdf4396e6f63f3f862ed2dcf16ee93ee034dc704a1b11bdf00c0b1', +}] + +dependencies = [('CUDA', '12.8.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_static.a', 'lib64/libcudnn_cnn_static.a', + 'lib64/libcudnn_engines_precompiled_static.a', 'lib64/libcudnn_engines_runtime_compiled_static.a', + 'lib64/libcudnn_graph_static.a', 'lib64/libcudnn_heuristic_static.a', 'lib64/libcudnn_ops_static.a', + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb b/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb new file mode 100644 index 00000000..323275cb --- /dev/null +++ b/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1-PL.eb @@ -0,0 +1,97 @@ +# IT4Innovations +# PH 2025 + +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '24.1' +versionsuffix = '-CUDA-12.1.1-PL' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/' +local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir) +local_external_extract += ' --strip-components=1 -xzf %%s' + +sources = [ + { + 'source_urls': ['https://github.com/dftbplus/dftbplus/archive'], + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/dftbplus/testparams/archive'], + 'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz', + 'filename': 'slakos-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('slakos', 'slakos'), + }, +] +checksums = [ + '776d83779666e06bf2930c3b1665cdb8e7409b8003e33e0178fbae8b47f5e0b1', # DFTB+ 24.1 + '9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823', # slakos-data +# '78a0494c2ff9216d6a9199ba07d632b18b809e0198f43905c044b5748bde488d' # slakos-data +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('dftd3-lib', '0.9.2'), + ('tblite', '0.3.0'), + # ('arpack-ng', '3.9.0'), # designed for non-MPI, single-node computations + ('magma', '2.7.2', '-CUDA-12.1.1'), + #('ELPA', '2022.05.001','-CUDA-12.1.1'), + ('ELSI', '2.11.0', '-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1'), + #('ScaLAPACK', '2.2.0', '-fb') # ScaLAPACK-2.2.0-gompi-2023a-fb.eb + ('ScalapackFx', '1.2'), + ('PLUMED', '2.9.0'), +] + +configopts = ' -DWITH_DFTD3=1 -DCOMPILE_DFTD3=0 -DDFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"' +configopts += ' -DDFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"' +configopts += ' -DWITH_TBLITE=1 ' +#configopts += ' -DWITH_ARPACK=1 -DARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" -DARPACK_NEEDS_LAPACK=1' +configopts += ' -DWITH_ARPACK=0' + +# Enable GPU support +configopts += ' -DWITH_GPU=1 ' +configopts += ' -DMAGMA_INCS="-I$EBROOTMAGMA/include" -DMAGMA_LIBS="-L$EBROOTMAGMA/lib -lmagma"' + +# Enable ELPA +configopts += ' -DWITH_ELPA=1 ' +configopts += ' -DELPA_INCS="-I$EBROOTELPA/include" -DELPA_LIBS="-L$EBROOTELPA/lib -lelpa"' + +# Enable ELSI +configopts += ' -DWITH_ELSI=1 ' +configopts += ' -DELSI_INCS="-I$EBROOTELSI/include" -DELSI_LIBS="-L$EBROOTELSI/lib -lelsi"' + +# Building with ELSI requires MPI-parallel build enabled +configopts += ' -DWITH_MPI=1 ' + +# Enable ScaLAPACK +configopts += ' -DWITH_SCALAPACK=1 ' +#configopts += ' -DSCALAPACK_LIBS="-L$EBROOTSCALAPACK/lib -lscalapack" ' +configopts += '-DSCALAPACK_LIBRARY="-L$EBROOTSCALAPACK/lib -lscalapack" ' +#configopts += ' -DSCALAPACK_INCS="-I$EBROOTSCALAPACK/include" ' + +# Enable Plumed +configopts += ' -DWITH_PLUMED=ON=1 ' + + +installopts = 'INSTALLDIR="%(installdir)s"' + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['dftb+', 'modes', 'waveplot']], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb b/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb new file mode 100644 index 00000000..c6c8783f --- /dev/null +++ b/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_MPI.eb @@ -0,0 +1,55 @@ +# IT4Innovations +# PH 2025 + +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '24.1' +versionsuffix = '-PL_TB_MPI' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'pic': True, 'lowopt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +# https://github.com/dftbplus/dftbplus/releases/download/24.1/dftbplus-24.1.tar.xz +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = ['dftbplus-%(version)s.tar.xz'] + + +checksums = [ + {'dftbplus-24.1.tar.xz': '3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('tblite', '0.3.0'), + ('PLUMED', '2.9.0'), +] + +configopts = "-DWITH_MPI=ON -DWITH_PLUMED=ON -DWITH_TBLITE=ON " +configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' + + + +sanity_check_paths = { + 'files': ['bin/dftb+'], + 'dirs': ['lib'] +} + +moduleclass = 'phys' \ No newline at end of file diff --git a/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb b/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb new file mode 100644 index 00000000..8b8c9a47 --- /dev/null +++ b/d/DFTB+/DFTB+-24.1-foss-2023a-PL_TB_noMPI.eb @@ -0,0 +1,48 @@ +# IT4Innovations +# PH 2025 + +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '24.1' +versionsuffix = '-PL_TB_noMPI' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +# https://github.com/dftbplus/dftbplus/releases/download/24.1/dftbplus-24.1.tar.xz +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = ['dftbplus-%(version)s.tar.xz'] + + +checksums = [ + {'dftbplus-24.1.tar.xz': '3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('tblite', '0.3.0'), + ('PLUMED', '2.9.0'), +] + +configopts = "-DWITH_PLUMED=ON -DWITH_TBLITE=ON " + + + +sanity_check_paths = { + 'files': ['bin/dftb+'], + 'dirs': ['lib'] +} + +moduleclass = 'phys' \ No newline at end of file diff --git a/d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb b/d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb index 13d35002..d7a3a4ee 100644 --- a/d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb +++ b/d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb @@ -45,6 +45,11 @@ sources = [ 'extract_cmd': _external_extract % ('gbsa', 'gbsa'), }, ] + +#patches = [ +# 'new_d4_model.patch' +#] + checksums = [ {'dftbplus-24.1.tar.xz': '3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'}, {'slakos-data-24.1.tar.gz': '78a0494c2ff9216d6a9199ba07d632b18b809e0198f43905c044b5748bde488d'}, @@ -61,9 +66,10 @@ dependencies = [ ('Python', '3.11.3'), ('tblite', '0.3.0'), ('SciPy-bundle', '2023.07'), - ('dftd4', '3.7.0'), +# ('dftd4', '3.7.0'), ('ELSI', '2.11.0', '-PEXSI'), ('libmbd', '0.12.6'), + ('PLUMED', '2.9.0'), ] # Prefer dependencies from EB than bundled sources @@ -71,7 +77,12 @@ configopts = '-DHYBRID_CONFIG_METHODS="Find;Submodule;Fetch" ' configopts += '-DWITH_MPI=1 -DWITH_OMP=1 -DWITH_SDFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 ' configopts += '-DBUILD_SHARED_LIBS=1 -DWITH_API=1 -DWITH_PYTHON=0 ' # Python bindings installed as extension configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' -configopts += ' -DWITH_TBLITE=1 ' +configopts += '-DWITH_TBLITE=1 -DWITH_PLUMED=1 ' +#configopts += '-DDFTBPLUS_DFTD4_PATH=$EBROOTDFTD4' +#configopts += '-DWITH_DFTD4=1 -DDFTBPLUS_DFTD4_PATH=$EBROOTDFTD4' +#configopts += '-DLIB_DFTD4="$EBROOTDFTD4/lib/libdftd4.so"' + +#buildopts = 'FCFLAGS="-I$EBROOTDFTD4/include/dftd4/GNU-12.3.0"' runtest = 'test'