diff --git a/f/FFTW/FFTW-3.3.10-NVHPC-21.9.eb b/f/FFTW/FFTW-3.3.10-NVHPC-21.9.eb index 63ddb6d0..23163fbd 100644 --- a/f/FFTW/FFTW-3.3.10-NVHPC-21.9.eb +++ b/f/FFTW/FFTW-3.3.10-NVHPC-21.9.eb @@ -13,7 +13,7 @@ toolchainopts = {'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TAR_GZ] -checksums = ['6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] # no quad precision, requires GCC v4.6 or higher # see also diff --git a/h/HDF5/HDF5-1.12.1-NVHPC-21.9.eb b/h/HDF5/HDF5-1.12.1-NVHPC-21.9.eb new file mode 100644 index 00000000..58b5d504 --- /dev/null +++ b/h/HDF5/HDF5-1.12.1-NVHPC-21.9.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2022 +# JK + +name = 'HDF5' +version = '1.12.1' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '21.9'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-shared' + +dependencies = [ + ('OpenMPI', '4.0.7', '-CUDA-11.4.1'), + ('zlib', '1.2.11', '', ('GCCcore', '10.2.0')), + ('Szip', '2.1.1', '', ('GCCcore', '10.2.0')), +] + +moduleclass = 'data' diff --git a/l/libxc/libxc-6.0.0-NVHPC-21.9.eb b/l/libxc/libxc-6.0.0-NVHPC-21.9.eb new file mode 100644 index 00000000..394b21d9 --- /dev/null +++ b/l/libxc/libxc-6.0.0-NVHPC-21.9.eb @@ -0,0 +1,48 @@ +# IT4Innovations 2022 +# JK + +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.0.0' + +homepage = 'https://www.tddft.org/programs/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': 'NVHPC', 'version': '21.9'} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c2ca205a762200dfba2e6c9e8ca2061aaddc6b7cf42048859fe717a7aa07de7c'] + +builddependencies = [ + ('CMake', '3.20.1', '', ('GCCcore', '10.2.0')), + ('Perl', '5.32.0', '', ('GCCcore', '10.2.0')), +] + +separate_build_dir = True + +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 + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['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/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb index 7ffc230a..338b58d2 100644 --- a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb @@ -26,9 +26,22 @@ else: 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://www.quantum-espresso.org/rdm-download/488/v7-1/3adf3b73b84938d19f4b7ac856795acb/'] -sources = ['qe-%(version)s-ReleasePack.tar.gz'] -checksums = ['feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a'] + +source_urls = [ + 'https://www.quantum-espresso.org/rdm-download/488/v7-1/3adf3b73b84938d19f4b7ac856795acb/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/', +] +sources = [ + 'qe-%(version)s-ReleasePack.tar.gz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a', # qe-7.1-ReleasePack.tar.gz + '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513', # qe-gipaw-7.1.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] builddependencies = [ ('CMake', '3.20.1', '', ('GCCcore', '10.2.0')), @@ -37,30 +50,19 @@ builddependencies = [ dependencies = [ # ('ELPA', '2021.05.001', '', ('intel', '2021a')), -# ('libxc', '5.1.3', '', ('GCC', '10.2.0')), -# ('HDF5', '1.10.7', '', ('iimpi', '2021a')), + ('libxc', '6.0.0'), + ('HDF5', '1.12.1'), + ('FFTW', '3.3.10'), ('OpenMPI', '4.0.7', '-CUDA-11.4.1'), ] -preconfigopts = " export MPIF90=mpif90 && " -preconfigopts += " export MPIFC=mpif90 && " -preconfigopts += " export MPIF77=mpif90 && " -preconfigopts += " export MPICC=mpicc && " -preconfigopts += " export MPICXX=mpicxx && " - configopts = 'FC=pgfortran F77=pgfortran F90=pgfortran CC=pgcc CXX=pgc++ ' configopts += '-DQE_ENABLE_CUDA=ON -DQE_ENABLE_MPI_GPU_AWARE=ON ' configopts += '-DNVFORTRAN_CUDA_VERSION=11.4 ' configopts += '-DNVFORTRAN_CUDA_CC=80 ' - - -# --with-cuda=$CUDA_HOME --with-cuda-cc=80 --with-cuda-runtime=11.4 --enable-openmp' - -prebuildopts = "sed -i 's/-D__MPI\\b/& -D__GPU_MPI /' %(builddir)s/qe-%(version)s/make.inc && " - # only pw is available for GPU -buildopts = 'pw' +buildopts = 'all gwl xspectra couple epw w90' # no rule to make target 'gipaw' # parallel build tends to fail parallel = 1