diff --git a/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb b/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb new file mode 100644 index 00000000..1bb4cd35 --- /dev/null +++ b/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb @@ -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' diff --git a/d/DFTB+/DFTB+-22.1-intel-2020b.eb b/d/DFTB+/DFTB+-22.1-intel-2020b.eb new file mode 100644 index 00000000..6c660a0f --- /dev/null +++ b/d/DFTB+/DFTB+-22.1-intel-2020b.eb @@ -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' diff --git a/t/tblite/tblite-0.2.1-intel-2020b.eb b/t/tblite/tblite-0.2.1-intel-2020b.eb new file mode 100644 index 00000000..55e61b57 --- /dev/null +++ b/t/tblite/tblite-0.2.1-intel-2020b.eb @@ -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' diff --git a/v/VASP/VASP-6.3.0-intel-2021b-mkl=sequential.eb b/v/VASP/VASP-6.3.0-intel-2021b-mkl=sequential.eb index c82adc74..cdc76e33 100644 --- a/v/VASP/VASP-6.3.0-intel-2021b-mkl=sequential.eb +++ b/v/VASP/VASP-6.3.0-intel-2021b-mkl=sequential.eb @@ -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.""" diff --git a/v/VASP/VASP-6.3.1-intel-2021b-test.eb b/v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential.eb similarity index 60% rename from v/VASP/VASP-6.3.1-intel-2021b-test.eb rename to v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential.eb index 3f2bc714..ab8b4ca0 100644 --- a/v/VASP/VASP-6.3.1-intel-2021b-test.eb +++ b/v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential.eb @@ -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