Merge branch 'it4i-karolina'

This commit is contained in:
Jakub Kropacek 2022-06-22 09:43:26 +02:00 committed by anselmicz
commit e09b0fb207
No known key found for this signature in database
GPG Key ID: 5271768D6FEA96BC
5 changed files with 166 additions and 13 deletions

@ -0,0 +1,41 @@
# IT4Innovations 2022
# JK
easyblock = 'ConfigureMake'
name = 'BAGEL'
version = '1.2.2'
homepage = "http://www.nubakery.org"
description = """BAGEL (Brilliantly Advanced General Electronic-structure Library)
is a parallel electronic-structure program."""
toolchain = {'name': 'intel', 'version': '2021b'}
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'opt': '03'}
# clone github repo and create an archive manually, do not use release
#source_urls = ['https://github.com/qsimulate-open/bagel/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
checksums = ['9f1ebcce6d8565446ab7bd4724e5ad8e0f74e9b4c8382f45ff3225860a1ec5b9']
builddependencies = [
('Autotools', '20210726'),
]
dependencies = [
('Boost', '1.77.0'),
('libxc', '5.1.6'),
]
# Hack, because bagel-v1.1.1 uses outdated filenames:
preconfigopts = 'sed -i "s|-gcc-mt||g" configure.ac && '
preconfigopts += './autogen.sh && '
preconfigopts += 'I_MPI_ICC=mpiicc MPICC=mpiicc I_MPI_CXX=mpigcc MPICXX=mpigcc CXXFLAGS="$CXXFLAGS -DNDEBUG -std=c++17 -lstdc++" '
configopts = ' --with-boost=$BOOST_ROOT --with-mpi=intel --enable-mkl --with-libxc '
sanity_check_paths = {
'files': ['bin/BAGEL', 'lib/libbagel.%s' % SHLIB_EXT],
'dirs': []
}
moduleclass = 'phys'

@ -0,0 +1,86 @@
# IT4Innovations
# LK 2022
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '22.1'
homepage = 'https://www.dftb-plus.info'
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
It is based on the Density Functional Tight Binding (DFTB) method, containing
almost all of the useful extensions which have been developed for the DFTB
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
like with ab-initio density functional theory based packages, but in an
approximate way gaining typically around two order of magnitude in speed."""
toolchain = {'name': 'intel', 'version': '2020b'}
# AMD/intel cpu
#toolchainopts = {'lowopt': True, 'optarch': False} # original
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'lowopt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'lowopt': True, 'optarch': False}
local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
local_external_extract += ' --strip-components=1 -xzf %%s'
sources = [
{
# DFTB+ source code
'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
# Slater-Koster (slakos) data for testing
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
'filename': 'slakos-data-%(version)s.tar.gz',
'extract_cmd': local_external_extract % ('slakos', 'slakos'),
},
]
checksums = [
'f0fc9a076aa2d7be03c31a3a845d8151fc0cc0b1d421e11c37044f78a42abb33', # DFTB+-22.1.tar.gz
'9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823', # slakos-data-22.1.tar.gz
]
builddependencies = [
('CMake', '3.18.4'),
]
dependencies = [
# ('Python', '3.8.6'),
# ('SciPy-bundle', '2020.11'),
('arpack-ng', '3.8.0'),
('dftd3-lib', '0.9.2', '', ('GCC', '10.2.0')),
('tblite', '0.2.1'),
]
# Link to Arpack
local_makeopts = ' WITH_MPI=1 WITH_ARPACK=1 ARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" ARPACK_NEEDS_LAPACK=1'
# Use DFTD3 from EB
local_makeopts += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
local_makeopts += ' DFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
# Link to tblite
configopts = ' -DWITH_TBLITE=true '
buildopts = local_makeopts
#runtest = 'test' + local_makeopts
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'modes', 'waveplot']],
'dirs': []
}
#sanity_check_commands = [('python', '-c "import dptools"')]
#modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'phys'

@ -0,0 +1,23 @@
# IT4Innovations 2022
# JK
easyblock = 'CMakeMake'
name = 'tblite'
version = '0.2.1'
homepage = 'http://www.example.com'
description = """This project is an effort to create a library implementation of the extended tight binding (xTB) Hamiltonian which can be shared between xtb and dftb+. The current state of this project should be considered as highly experimental."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'optarch': 'march=core-avx2'}
source_urls = ['https://github.com/tblite/tblite/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
checksums = ['8b803f636685f862097952e7b5e6d0903f6c91b1534c5750664c7ab42a5d4c9a']
builddependencies = [
('CMake', '3.20.1'),
]
moduleclass = 'lib'

@ -12,8 +12,6 @@ description = """The Vienna Ab initio Simulation Package (VASP) is a local_compu
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
Starting from version 6.3.0, we have decided to compile VASP with HDF5 and Wannier90 support.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible for verifying your licenses. After succesful verification You will be granted access to VASP in our enviroment."""

@ -5,18 +5,16 @@ easyblock = 'MakeCp'
name = 'VASP'
version = '6.3.1'
versionsuffix = '-test'
versionsuffix = '-mkl=sequential'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
This is a customized compilation which includes HDF5 library and an interface to Wannier90.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible for verifying your licenses. After succesful verification You will be granted access to VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2021b'}
toolchainopts = {'pic': True, 'usempi': True}
@ -24,28 +22,35 @@ toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tgz']
patches = ['VASP-6.3.1-HDF5-WANNIER.patch']
patches = ['VASP-6.3.1-intel-2021b-cluster-independent.patch']
checksums = [
'113db53c4346287c89982f52887a65d12d246e38de7ccd024e44499c4774dc66', # vasp.6.3.1.tgz
'5da3eda9adbf29554070f839fe770a7b64494a3e60d2fd1040d577a620fa046d', # VASP-6.3.1-HDF5-WANNIER.patch
# VASP-6.3.1-intel-2021b-cluster-independent.patch
'074393cb052982469e2b8d67363f69807b75584564b1bd2e51eaf56085d3951c',
]
# cluster independent settings - Wannier90 and HDF5 settings, FFLAGS etc.
dependencies = [
('HDF5', '1.12.1', '-parallel'),
('Wannier90', '3.1.0', '-serial'),
]
# copy over makefile.include for intel toolchain
prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && '
# AMD/intel cpu
#import os
#if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
# prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && '
# Cluster specific options!
# check for each VASP version to make sure it's consistent
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i -e "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=core-avx2|" makefile.include && '
prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && '
else:
prebuildopts += 'sed -i -e "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=xHost|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
buildopts = 'std gam ncl ' # 'BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
buildopts = ' std gam ncl '
parallel = 1