diff --git a/b/Boost.Python-NumPy/Boost.Python-NumPy-1.83.0-gfbf-2023b.eb b/b/Boost.Python-NumPy/Boost.Python-NumPy-1.83.0-gfbf-2023b.eb new file mode 100644 index 00000000..52f47953 --- /dev/null +++ b/b/Boost.Python-NumPy/Boost.Python-NumPy-1.83.0-gfbf-2023b.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'EB_Boost' + +name = 'Boost.Python-NumPy' +version = '1.83.0' + +homepage = 'https://boostorg.github.io/python' +description = """Boost.Python is a C++ library which enables seamless interoperability between C++ + and the Python programming language.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_1_83_0.tar.gz'] +checksums = ['c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628'] + +dependencies = [ + ('Boost', '1.83.0'), + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/b/Boost/Boost-1.77.0-gompi-2021a.eb b/b/Boost/Boost-1.77.0-gompi-2021a.eb index 45231603..b485f03f 100644 --- a/b/Boost/Boost-1.77.0-gompi-2021a.eb +++ b/b/Boost/Boost-1.77.0-gompi-2021a.eb @@ -11,6 +11,7 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] dependencies = [ ('bzip2', '1.0.8', '', True), diff --git a/c/CMake/CMake-3.16.2.eb b/c/CMake/CMake-3.16.2.eb index 50733918..a89e92a5 100644 --- a/c/CMake/CMake-3.16.2.eb +++ b/c/CMake/CMake-3.16.2.eb @@ -13,6 +13,7 @@ toolchain = SYSTEM source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9'] configopts = '-- -DCMAKE_USE_OPENSSL=1' diff --git a/e/ELPA/ELPA-2019.11.001-intel-2021a.eb b/e/ELPA/ELPA-2019.11.001-intel-2021a.eb new file mode 100644 index 00000000..d3d7af6b --- /dev/null +++ b/e/ELPA/ELPA-2019.11.001-intel-2021a.eb @@ -0,0 +1,29 @@ +#IT4Innovations +#LK 2024 + +name = 'ELPA' +version = '2019.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications .""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] + +builddependencies = [ + ('Autotools', '20210128'), + # remove_xcompiler script requires 'python' command, + # manual_cpp script requires 'python' command and is not compatible yet with Python 3 +# ('Python', '2.7.18'), +] + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. +maxparallel = 1 + +moduleclass = 'math' diff --git a/e/ELPA/ELPA-2023.11.001-intel-2023b.eb b/e/ELPA/ELPA-2023.11.001-intel-2023b.eb index 9f876959..73c6736f 100644 --- a/e/ELPA/ELPA-2023.11.001-intel-2023b.eb +++ b/e/ELPA/ELPA-2023.11.001-intel-2023b.eb @@ -1,5 +1,10 @@ -# IT4Innovations -# LK 2024 +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Inge Gutheil , Alan O'Cais +# License:: MIT/GPL +# +## name = 'ELPA' version = '2023.11.001' @@ -8,7 +13,12 @@ homepage = 'https://elpa.mpcdf.mpg.de/' description = """Eigenvalue SoLvers for Petaflop-Applications.""" toolchain = {'name': 'intel', 'version': '2023b'} -toolchainopts = {'openmp': True, 'usempi': True} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] sources = ['elpa-new_release_%(version)s.tar.gz'] @@ -35,13 +45,16 @@ builddependencies = [ preconfigopts = './autogen.sh && ' preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' preconfigopts += 'autoreconf && ' -preconfigopts = "export FC='mpiifort' && " -preconfigopts += "export CC='mpicc' && " -preconfigopts += 'export FCFLAGS="-O3 -xAVX2" && ' -preconfigopts += 'export CFLAGS="-O3 -march=native -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" && ' -preconfigopts += 'export SCALAPACK_LDFLAG=S"-L$MKLROOT/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " && ' -preconfigopts += 'export SCALAPACK_FCFLAGS="-I$MKL_HOME/include/intel64/lp64" && ' +# If the build is running in a batch job, make sure Intel libmpi does +# not try to use Slurm to run the MPI_THREAD test code that ELPA's +# configure is running without "mpirun". +preconfigopts += 'unset SLURM_JOBID && unset SLURM_NODELIST && unset I_MPI_PMI_LIBRARY && ' +configopts = '--without-threading-support-check-during-build ' + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. maxparallel = 1 moduleclass = 'math' diff --git a/h/HDF5/HDF5-1.10.6-intel-2020a.eb b/h/HDF5/HDF5-1.10.6-intel-2020a.eb index 08430bda..9e0a4df5 100644 --- a/h/HDF5/HDF5-1.10.6-intel-2020a.eb +++ b/h/HDF5/HDF5-1.10.6-intel-2020a.eb @@ -8,11 +8,12 @@ description = """HDF5 is a unique technology suite that makes possible the manag extremely large and local_complex data collections.""" toolchain = {'name': 'intel', 'version': '2020a'} -toolchainopts = {'pic': True, 'usempi': False} +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'] dependencies = [ ('zlib', '1.2.11'), diff --git a/i/IOTK/IOTK-1.2.2-intel-2020a.eb b/i/IOTK/IOTK-1.2.2-intel-2020a.eb index b4294d10..a8315f15 100644 --- a/i/IOTK/IOTK-1.2.2-intel-2020a.eb +++ b/i/IOTK/IOTK-1.2.2-intel-2020a.eb @@ -11,6 +11,10 @@ simplified access to tagged files formatted using some specific rule.""" source_urls = ['https://github.com/yambo-code/yambo/files/962173'] sources = ['iotk-y1.2.2.tar.gz'] +checksums = [ + 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543', + 'e0536c490ce57e60ba6e10c54f1b9baf9c4d6cd6c18be8a4d2f7a4e685200df2' +] toolchain = {'name': 'intel', 'version': '2020a'} diff --git a/j/Java/Java-1.8.0_221.eb b/j/Java/Java-1.8.0_221.eb index af940e5e..f5cd7d4d 100644 --- a/j/Java/Java-1.8.0_221.eb +++ b/j/Java/Java-1.8.0_221.eb @@ -1,3 +1,6 @@ +# IT4Innovations +# LK 2024 + name = 'Java' version = "1.8.0_221" @@ -12,5 +15,6 @@ toolchain = SYSTEM (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] +checksums = ['bac52b7f120a03c4c0815ca8fc77c02a8f3db2ded121ffad7449525f377e2479'] moduleclass = 'lang' diff --git a/n/NVHPC/NVHPC-21.9.eb b/n/NVHPC/NVHPC-21.9.eb index 1913b031..86fe592a 100644 --- a/n/NVHPC/NVHPC-21.9.eb +++ b/n/NVHPC/NVHPC-21.9.eb @@ -14,6 +14,7 @@ accept_eula = True source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' sources = [local_tarball_tmpl % '%(arch)s'] +checksums = ['7de6a6880fd7e59afe0dee51f1fae4d3bff1ca0fb8ee234b24e1f2fdff23ffc9'] #local_gccver = '10.2.0' #dependencies = [ diff --git a/n/netCDF-Fortran/netCDF-Fortran-4.5.2-intel-2020a.eb b/n/netCDF-Fortran/netCDF-Fortran-4.5.2-intel-2020a.eb index 10206398..1dd7b720 100644 --- a/n/netCDF-Fortran/netCDF-Fortran-4.5.2-intel-2020a.eb +++ b/n/netCDF-Fortran/netCDF-Fortran-4.5.2-intel-2020a.eb @@ -13,6 +13,7 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] sources = ['v%(version)s.tar.gz'] +checksums = ['0b05c629c70d6d224a3be28699c066bfdfeae477aea211fbf034d973a8309b49'] builddependencies = [ ('M4', '1.4.18'), diff --git a/n/netCDF/netCDF-4.7.3-intel-2020a.eb b/n/netCDF/netCDF-4.7.3-intel-2020a.eb index be550cc4..b3136279 100644 --- a/n/netCDF/netCDF-4.7.3-intel-2020a.eb +++ b/n/netCDF/netCDF-4.7.3-intel-2020a.eb @@ -15,6 +15,7 @@ sources = ['v%(version)s.tar.gz'] source_urls = [ 'https://github.com/Unidata/netcdf-c/archive/' ] +checksums = ['05d064a2d55147b83feff3747bea13deb77bef390cb562df4f9f9f1ce147840d'] dependencies = [ ('HDF5', '1.10.6', '', ('iimpi', '2020a')), diff --git a/p/PETSc/PETSc-3.21.2-foss-2022b.eb b/p/PETSc/PETSc-3.21.2-foss-2022b.eb new file mode 100644 index 00000000..cfd54fe1 --- /dev/null +++ b/p/PETSc/PETSc-3.21.2-foss-2022b.eb @@ -0,0 +1,42 @@ +# IT4Innovations +# LK 2024 + +name = 'PETSc' +version = '3.21.2' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://gitlab.com/petsc/petsc/-/archive/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['11c69217df68a8b8a666b684560354449fa7e0b6ff8926288bd84722bffbe1ce'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), #Karolina failed + ('Boost', '1.81.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('MUMPS', '5.6.1', '-metis'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('Hypre', '2.27.0'), + ('ParMETIS', '4.0.3'), + ('SuperLU_DIST', '8.1.2'), + ('mpi4py', '3.1.4'), +] + +configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/p/petsc4py/petsc4py-3.21.2-foss-2022b.eb b/p/petsc4py/petsc4py-3.21.2-foss-2022b.eb new file mode 100644 index 00000000..764eb690 --- /dev/null +++ b/p/petsc4py/petsc4py-3.21.2-foss-2022b.eb @@ -0,0 +1,30 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonPackage' + +name = 'petsc4py' +version = '3.21.2' + +homepage = 'https://gitlab.com/petsc/petsc' +description = """petsc4py are Python bindings for PETSc, the Portable, +Extensible Toolchain for Scientific Computation.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6ce1e1a45407da300c6869d0d9abe17b5b077424aa4895713642dda0bb19ab4e'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PETSc', version), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from petsc4py import PETSc'"] + +moduleclass = 'tools' diff --git a/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb b/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb index d52e24b9..5d710de3 100644 --- a/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb +++ b/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb @@ -16,6 +16,7 @@ toolchainopts = {'opt': True, 'pic': True, 'usempi': True} source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] sources = ['v%(version)s.tar.gz'] +checksums = ['08bf712423c5ff8d983ba13c1892e767515f0996e865dff38f66d151d3de9548'] builddependencies = [('CMake', '3.20.1')] diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2020a-MaX.eb b/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2020a-MaX.eb new file mode 100644 index 00000000..d7934c11 --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2020a-MaX.eb @@ -0,0 +1,57 @@ +# IT4Innovations +# LK 2024 + +name = 'QuantumESPRESSO' +version = '6.7' +versionsuffix = '-MaX' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2020a'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s.0/', + 'https://github.com/dceresoli/qe-gipaw/archive/', + 'https://github.com/wannier-developers/wannier90/archive/', + 'https://gitlab.com/QEF/q-e/-/archive/qe-%(version)sMaX-Release/' +] +sources = [ + 'q-e-qe-%(version)sMaX-Release.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)sMaX.tar.gz'}, + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'fe0ce74ff736b10d2a20c9d59025c01f88f86b00d229c123b1791f1edd7b4315', # qe-6.7-MaX + '95d2ed2f4d27f044dba171bdf8c1913a67ebc8846ed3463462828f2d414a2a61', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.6'), + ('ELPA', '2019.11.001'), + ('libxc', '5.1.5'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw gipaw w90' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2021a.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2021a.eb new file mode 100644 index 00000000..9f56522d --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2021a.eb @@ -0,0 +1,56 @@ +# IT4Innovations +# LK 2024 + +name = 'QuantumESPRESSO' +version = '7.2' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s.0/', + 'https://github.com/dceresoli/qe-gipaw/archive/', + 'https://github.com/wannier-developers/wannier90/archive/', + 'https://github.com/QEF/q-e/archive/refs/tags/' +] +sources = [ + 'qe-%(version)s.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0', # qe-%(version)s.tar.gz + 'c27e4277287b519de2c45189d5509a0962c8edf2d7e16994f671c2c9d4731e05', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.5'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw gipaw w90' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2021a.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2021a.eb new file mode 100644 index 00000000..98ff748c --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2021a.eb @@ -0,0 +1,56 @@ +# IT4Innovations +# LK 2024 + +name = 'QuantumESPRESSO' +version = '7.3' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s.0/', + 'https://github.com/dceresoli/qe-gipaw/archive/', + 'https://github.com/wannier-developers/wannier90/archive/', + 'https://github.com/QEF/q-e/archive/refs/tags/' +] +sources = [ + 'qe-%(version)s.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'edc2a0f3315c69966df4f82ec86ab9f682187bc9430ef6d2bacad5f27f08972c', # qe-%(version)s.tar.gz + 'ef5bc80172a3f0b2631120a17fb7caeb95c6b9ac98dcbbcec0d98b7ca871e8ca', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.5'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw gipaw w90' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb new file mode 100644 index 00000000..9e37c20c --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb @@ -0,0 +1,61 @@ +# IT4Innovations +# LK 2024 + +name = 'QuantumESPRESSO' +version = '7.2' +versionsuffix = '-gpu' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2023b'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s.0/', + 'https://github.com/dceresoli/qe-gipaw/archive/', + 'https://github.com/wannier-developers/wannier90/archive/', + 'https://github.com/QEF/q-e/archive/refs/tags/' +] +sources = [ + 'qe-%(version)s.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0', # qe-%(version)s.tar.gz + 'c27e4277287b519de2c45189d5509a0962c8edf2d7e16994f671c2c9d4731e05', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('ELPA', '2023.11.001'), + ('libxc', '6.2.2'), + ('CUDA', '12.4.0', '', True), +] + +# config +configopts = '–with-cuda' + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw gipaw w90' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/s/SLEPc/SLEPc-3.21.1-foss-2022b.eb b/s/SLEPc/SLEPc-3.21.1-foss-2022b.eb new file mode 100644 index 00000000..36a42d56 --- /dev/null +++ b/s/SLEPc/SLEPc-3.21.1-foss-2022b.eb @@ -0,0 +1,24 @@ +# IT4Innovations +# LK 2024 + +name = 'SLEPc' +version = '3.21.1' + +homepage = 'https://slepc.upv.es' +description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution + of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for + either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a + partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['beb33f0a15c3ce81744b15ad09ddf84dae70dbf3475c5ef032b8549ab87d6d8a'] + +dependencies = [('PETSc', '3.21.2')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/s/slepc4py/slepc4py-3.21.1-foss-2022b.eb b/s/slepc4py/slepc4py-3.21.1-foss-2022b.eb new file mode 100644 index 00000000..ec098538 --- /dev/null +++ b/s/slepc4py/slepc4py-3.21.1-foss-2022b.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonPackage' + +name = 'slepc4py' +version = '3.21.1' + +homepage = 'https://bitbucket.org/slepc/slepc4py' +description = "Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations." + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bc8e0e270643eef9b63b249080b8fe4433be0b697d55032d9f768ef310bd7b07'] + +dependencies = [ + ('Python', '3.10.8'), + ('SLEPc', '3.21.1'), + ('petsc4py', '3.21.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from slepc4py import SLEPc'"] + +moduleclass = 'tools' diff --git a/s/sqsgenerator/sqsgenerator-0.3-conda.eb b/s/sqsgenerator/sqsgenerator-0.3-conda.eb new file mode 100644 index 00000000..2149fb1c --- /dev/null +++ b/s/sqsgenerator/sqsgenerator-0.3-conda.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +easyblock = "Conda" + +name = 'sqsgenerator' +version = '0.3' +versionsuffix = '-conda' + +homepage = 'http://phonopy.sourceforge.net/phono3py/index.html' +description = """This software calculates phonon-phonon interaction related properties""" + +toolchain = SYSTEM + +dependencies = [ + ('Anaconda3', '2023.07-2'), +] + +requirements = "%(namelower)s numpy" +channels = ['conda-forge'] + +sanity_check_paths = { + 'files': ['bin/sqsgen'], + 'dirs': ['bin', 'lib'] +} + +moduleclass = 'phys' diff --git a/s/sqsgenerator/sqsgenerator-0.3-foss-2023b-Python-3.11.5.eb b/s/sqsgenerator/sqsgenerator-0.3-foss-2023b-Python-3.11.5.eb index f31063c0..c8729725 100644 --- a/s/sqsgenerator/sqsgenerator-0.3-foss-2023b-Python-3.11.5.eb +++ b/s/sqsgenerator/sqsgenerator-0.3-foss-2023b-Python-3.11.5.eb @@ -25,14 +25,19 @@ builddependencies = [ dependencies = [ ('Python', '3.11.5'), ('GMP', '6.3.0'), - ('Boost', '1.83.0'), - ('SciPy-bundle', '2023.11'), -# ('pymatgen', '2022.0.12'), + ('Boost.Python-NumPy', '1.83.0'), ] use_pip = True + +#SQS_Boost_INCLUDE_DIR="${CONDA_PREFIX}/include" \ +#SQS_Boost_LIBRARY_DIR_RELEASE="${CONDA_PREFIX}/lib" \ +#CMAKE_CXX_COMPILER="x86_64-conda-linux-gnu-g++" \ +#CMAKE_CXX_FLAGS="-DNDEBUG -O2 -mtune=native -march=native" \ # optional + preinstallopts = 'pip install --prefix=%(installdir)s --no-deps --no-build-isolation -r docs/requirements.txt && ' -preinstallopts += 'SQS_BOOST_ROOT=$EBROOTBOOST ' +preinstallopts += 'SQS_BOOST_INCLUDE_DIR=$EBROOTBOOST/include ' +preinstallopts += 'SQS_Boost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib ' preinstallopts += 'SQS_USE_MPI=ON ' sanity_check_paths = { diff --git a/y/Yambo/Yambo-5.2.3-intel-2020a.eb b/y/Yambo/Yambo-5.2.3-intel-2020a.eb new file mode 100644 index 00000000..9fcd2c88 --- /dev/null +++ b/y/Yambo/Yambo-5.2.3-intel-2020a.eb @@ -0,0 +1,61 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MakeCp' + +name = 'Yambo' +version = '5.2.3' + +homepage = 'http://www.yambo-code.org' +description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. + Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/yambo-code/yambo/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = [ + 'a6168d1fa820af857ac51217bd6ad26dda4cc89c07e035bd7dc230038ae1ab9c', # 5.2.3 +] + +dependencies = [ + ('netCDF-Fortran', '4.5.2'), + ('libxc', '5.1.5'), + ('IOTK', '1.2.2'), +] + +#with_configure = True + +#configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' +#configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' +#configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" ' +#configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf" ' +#configopts += '--with-hdf5-path=$EBROOTHDF5 ' +#configopts += '--with-libxc-path=$EBROOTLIBXC ' +#configopts += '--enable-iotk ' +#onfigopts += '--with-iotk-path=$EBROOTIOTK ' +#configopts += '--enable-dp --enable-memory-profile --disable-open-mp ' + +prebuildopts = './configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" --with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" --with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" --with-netcdf-libs="-lnetcdff -lnetcdf" --with-hdf5-path=$EBROOTHDF5 --with-libxc-path=$EBROOTLIBXC --enable-iotk --with-iotk-path=$EBROOTIOTK --enable-dp --enable-memory-profile --disable-open-mp && ' + +buildopts = 'all' + +parallel = 1 + +files_to_copy = [ + (['bin/*'], 'bin'), + (['lib/*.a'], 'lib'), + (['include/*'], 'include'), +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'ypp']], + 'dirs': [] +} + +moduleclass = 'phys'