mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-12 18:02:12 +01:00

new file: o/OpenMPI/OpenMPI-4.0.7-NVHPC-21.9-CUDA-11.4.1.eb new file: q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb
71 lines
2.4 KiB
Plaintext
71 lines
2.4 KiB
Plaintext
# IT4Innovations 2022
|
|
# JK
|
|
|
|
easyblock = 'CMakeMake'
|
|
name = 'QuantumESPRESSO'
|
|
version = '7.1'
|
|
|
|
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).
|
|
"""
|
|
|
|
# NVHPC 21.11-22.2 have a severe bug causing hanging in runs when QE is
|
|
# compiled with both OpenMP and OpenACC. Use a different compiler release or
|
|
# dislable OpenMP with potential performance loss.
|
|
toolchain = {'name': 'NVHPC', 'version': '21.9'}
|
|
|
|
import os
|
|
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
|
toolchainopts = {'pic': True, 'optarch': 'march=core-avx2'}
|
|
else:
|
|
toolchainopts = {'pic': 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://www.quantum-espresso.org/rdm-download/488/v7-1/3adf3b73b84938d19f4b7ac856795acb/']
|
|
sources = ['qe-%(version)s-ReleasePack.tar.gz']
|
|
checksums = ['feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a']
|
|
|
|
builddependencies = [
|
|
('CMake', '3.20.1', '', ('GCCcore', '10.2.0')),
|
|
('git', '2.28.0', '-nodocs', ('GCCcore', '10.2.0')),
|
|
]
|
|
|
|
dependencies = [
|
|
# ('ELPA', '2021.05.001', '', ('intel', '2021a')),
|
|
# ('libxc', '5.1.3', '', ('GCC', '10.2.0')),
|
|
# ('HDF5', '1.10.7', '', ('iimpi', '2021a')),
|
|
('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'
|
|
|
|
# parallel build tends to fail
|
|
parallel = 1
|
|
|
|
#skipsteps = ['sanitycheck']
|
|
|
|
moduleclass = 'chem'
|