new file: a/ABINIT/ABINIT-9.4.2-intel-2021a.eb

modified:   o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1.eb
This commit is contained in:
Lukas Krupcik 2021-10-14 09:11:32 +02:00
parent 73ee681a9a
commit d118b2bdcc
2 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,78 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'ABINIT'
version = '9.4.2'
homepage = 'https://www.abinit.org/'
description = """
ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of
systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using
pseudopotentials and a planewave or wavelet basis.
"""
toolchain = {'name': 'intel', 'version': '2021a'}
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'usempi': True, 'pic': True}
source_urls = ['https://www.abinit.org/sites/default/files/packages/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc']
builddependencies = [
('Python', '3.9.5'),
]
dependencies = [
('libxc', '5.1.5'),
('netCDF', '4.8.0'),
('netCDF-Fortran', '4.5.3'),
('HDF5', '1.10.7'),
('Wannier90', '3.1.0'),
]
# Ensure MPI with intel wrappers.
configopts = '--with-mpi="yes" --enable-mpi-io --enable-mpi-inplace'
configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" '
# Disable OpenMP
configopts += '--enable-openmp="no" '
# BLAS/Lapack from MKL
configopts += '--with-linalg-flavor=mkl --with-optim-flavor="aggressive" '
# FFTW from MKL
configopts += '--with-fft-flavor=dfti '
# libxc support
configopts += '--with-libxc=${EBROOTLIBXC} '
# hdf5/netcdf4 support
configopts += '--with-netcdf="${EBROOTNETCDF}" '
configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" '
configopts += '--with-hdf5="${EBROOTHDF5}" '
# Wannier90
configopts += '--with-wannier90="${EBROOTWANNIER90}" '
preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && '
# Enable double precision for GW calculations
configopts += '--enable-gw-dpc '
# 'make check' is just executing some basic unit tests.
# Also running 'make tests_v1' to have some basic validation
runtest = "check && make test_v1"
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'chem'

View File

@ -30,3 +30,15 @@ configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-cuda=$EBROOTCUDACORE '
moduleclass = 'mpi'
#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0")
#setenv("export OMPI_MCA_btl_openib_allow_ib", "1")
#setenv("OMPI_MCA_pml", "^ucx")
#setenv("OMPI_MCA_orte_base_help_aggregate", "0")
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_openib_allow_ib': '1',
'OMPI_MCA_orte_base_help_aggregate': '0',
'OMPI_MCA_pml': '^ucx',
}