mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00
71 lines
2.1 KiB
Plaintext
71 lines
2.1 KiB
Plaintext
# IT4Innovations
|
|
# LK 2021
|
|
|
|
easyblock = 'ConfigureMake'
|
|
|
|
name = 'ABINIT'
|
|
version = '9.6.1'
|
|
|
|
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."""
|
|
|
|
# AMD/intel cpu
|
|
toolchain = {'name': 'intel', 'version': '2020b'}
|
|
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 = ['26c77a4c118439afa5298ce98dfef335']
|
|
|
|
builddependencies = [
|
|
('Python', '3.8.6'),
|
|
]
|
|
dependencies = [
|
|
('libxc', '4.3.4'),
|
|
('netCDF', '4.7.4'),
|
|
('netCDF-Fortran', '4.5.3'),
|
|
('HDF5', '1.10.6', '-parallel'),
|
|
('Wannier90', '3.1.0'),
|
|
]
|
|
|
|
# Ensure MPI with intel wrappers.
|
|
configopts = '--with-mpi="yes" --enable-openmp="no" --enable-mpi-io --enable-mpi-inplace '
|
|
configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" '
|
|
|
|
# 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" && '
|
|
|
|
# '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'
|