diff --git a/a/ABINIT/ABINIT-9.6.1-intel-2020b.eb b/a/ABINIT/ABINIT-9.6.1-intel-2020b.eb index e451f5cb..a1f4bded 100644 --- a/a/ABINIT/ABINIT-9.6.1-intel-2020b.eb +++ b/a/ABINIT/ABINIT-9.6.1-intel-2020b.eb @@ -37,11 +37,11 @@ dependencies = [ ] # Ensure MPI with intel wrappers. -configopts = '--with-mpi="yes" --enable-openmp="no" ' +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 ' +configopts += '--with-linalg-flavor=mkl --with-optim-flavor="aggressive" ' # FFTW from MKL configopts += '--with-fft-flavor=dfti ' diff --git a/a/ABINIT/ABINIT-9.6.1-intel-2021a.eb b/a/ABINIT/ABINIT-9.6.1-intel-2021a.eb new file mode 100644 index 00000000..754156e4 --- /dev/null +++ b/a/ABINIT/ABINIT-9.6.1-intel-2021a.eb @@ -0,0 +1,78 @@ + +# 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. +""" + +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 = ['26c77a4c118439afa5298ce98dfef335'] + +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'