From d113176f308622f6a056de22258ed2377e0cd2bc Mon Sep 17 00:00:00 2001 From: Jakub Kropacek Date: Fri, 24 Jun 2022 12:25:55 +0200 Subject: [PATCH] modified: b/BAGEL/BAGEL-1.2.2-intel-2021b.eb new file: d/DFTB+/DFTB+-21.1-intel-2021a.eb new file: d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb modified: d/DFTB+/DFTB+-22.1-intel-2020b.eb new file: e/ELSI/ELSI-2.6.4-intel-2020b.eb --- b/BAGEL/BAGEL-1.2.2-intel-2021b.eb | 2 +- d/DFTB+/DFTB+-21.1-intel-2021a.eb | 82 +++++++++++++++++++++ d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb | 91 ++++++++++++++++++++++++ d/DFTB+/DFTB+-22.1-intel-2020b.eb | 26 +++---- e/ELSI/ELSI-2.6.4-intel-2020b.eb | 37 ++++++++++ 5 files changed, 220 insertions(+), 18 deletions(-) create mode 100644 d/DFTB+/DFTB+-21.1-intel-2021a.eb create mode 100644 d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb create mode 100644 e/ELSI/ELSI-2.6.4-intel-2020b.eb diff --git a/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb b/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb index 1bb4cd35..d34a68f5 100644 --- a/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb +++ b/b/BAGEL/BAGEL-1.2.2-intel-2021b.eb @@ -30,7 +30,7 @@ dependencies = [ # 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++" ' +preconfigopts += 'I_MPI_ICC=mpiicc MPICC=mpiicc I_MPI_CXX=mpigcc MPICXX=mpigcc CXXFLAGS="$CXXFLAGS -DNDEBUG -std=c++98 -lstdc++" ' configopts = ' --with-boost=$BOOST_ROOT --with-mpi=intel --enable-mkl --with-libxc ' sanity_check_paths = { diff --git a/d/DFTB+/DFTB+-21.1-intel-2021a.eb b/d/DFTB+/DFTB+-21.1-intel-2021a.eb new file mode 100644 index 00000000..5711e311 --- /dev/null +++ b/d/DFTB+/DFTB+-21.1-intel-2021a.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '21.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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'extra_fflags': '-I$(EBROOTDFTD3MINLIB)/include'} + +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' + +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = [ + 'dftbplus-%(version)s.tar.xz', + { + # Slater-Koster (slakos) data for testing + 'source_urls': ['https://github.com/dftbplus/testparams/archive'], + 'download_filename': '26439495c4b5b0d07be6ceec4dade3d149425465.tar.gz', + 'filename': 'slakos-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('slakos', 'slakos'), + }, + { + # GBSA (gbsa) data for testing + 'source_urls': ['https://github.com/grimme-lab/gbsa-parameters/archive'], + 'download_filename': '6836c4d997e4135e418cfbe273c96b1a3adb13e2.tar.gz', + 'filename': 'gbsa-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('gbsa', 'gbsa'), + }, +] +patches = [ + '%(name)s-%(version)s_use_dftd3_from_EB.patch', + '%(name)s-%(version)s_fix_intel_omp_linking.patch', + '%(name)s-%(version)s_drop_intel_failing_tests.patch', +] +checksums = [ + '8c1eb8a38f72c421e2ae20118a6db3a656fa84e8b180ef387e549a73ae77f970', # dftbplus-21.1.tar.xz + '6f65da7b64ef255fd777de7a972c63f7fa8ed2041442823b2c601bc8f0e55d98', # slakos-data-21.1.tar.gz + 'd464f9f7b1883d1353b433d0c7eae2f5606af092d9b51d38e9ed15e072610a79', # gbsa-data-21.1.tar.gz + '3bd33d8e90e8182f516f15fb8f79d01929a0778e324b33c5fabc7d70112e643a', # DFTB+-21.1_use_dftd3_from_EB.patch + 'e922b0d9360d342190c4496173f938c2cb89f0bd0499b2f71abcaf70dc8e5fe1', # DFTB+-21.1_fix_intel_omp_linking.patch + 'f0c0e248d567739010897e7a46e471b1e332568bb0f9c1c06fd1e762d3f81aa4', # DFTB+-21.1_drop_intel_failing_tests.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('dftd3-lib', '0.9'), + ('ELSI', '2.7.1', '-PEXSI'), +] + +build_shared_libs = True + +configopts = '-DWITH_MPI=1 -DWITH_DFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 ' +configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube', + 'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [("python -c 'import dptools'")] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb b/d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb new file mode 100644 index 00000000..0fe4ed20 --- /dev/null +++ b/d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb @@ -0,0 +1,91 @@ +# IT4Innovations +# LK JK 2022 + +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '22.1' +versionsuffix = '-ARPACK' + +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. + +This compilation is linked against the ARPACK library, and as such does not support +MPI-parallelization. +""" + +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 +configopts = ' -DWITH_ARPACK=1 -DARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" -DARPACK_NEEDS_LAPACK=1' +# Use DFTD3 from += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"' +configopts += ' -DWITH_DFTD3=1 -DCOMPILE_DFTD3=0 -DDFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"' +configopts += ' -DDFTD3_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/d/DFTB+/DFTB+-22.1-intel-2020b.eb b/d/DFTB+/DFTB+-22.1-intel-2020b.eb index 6c660a0f..7516d68f 100644 --- a/d/DFTB+/DFTB+-22.1-intel-2020b.eb +++ b/d/DFTB+/DFTB+-22.1-intel-2020b.eb @@ -1,5 +1,5 @@ # IT4Innovations -# LK 2022 +# LK JK 2022 easyblock = 'CMakeMake' @@ -16,7 +16,6 @@ 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'} @@ -55,22 +54,19 @@ builddependencies = [ dependencies = [ # ('Python', '3.8.6'), # ('SciPy-bundle', '2020.11'), - ('arpack-ng', '3.8.0'), +# ('arpack-ng', '3.8.0'), ('dftd3-lib', '0.9.2', '', ('GCC', '10.2.0')), + ('ELSI', '2.6.4'), ('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"' +# Enable MPI parallelism and ELSI +configopts = ' -DWITH_MPI=1 -DWITH_ELSI=1 ' +# Use DFTD3 from += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"' +configopts += ' -DWITH_DFTD3=1 -DCOMPILE_DFTD3=0 -DDFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"' +configopts += ' -DDFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"' # Link to tblite -configopts = ' -DWITH_TBLITE=true ' - -buildopts = local_makeopts - -#runtest = 'test' + local_makeopts +configopts += ' -DWITH_TBLITE=1 ' installopts = 'INSTALLDIR="%(installdir)s"' @@ -79,8 +75,4 @@ sanity_check_paths = { 'dirs': [] } -#sanity_check_commands = [('python', '-c "import dptools"')] - -#modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} - moduleclass = 'phys' diff --git a/e/ELSI/ELSI-2.6.4-intel-2020b.eb b/e/ELSI/ELSI-2.6.4-intel-2020b.eb new file mode 100644 index 00000000..19031c51 --- /dev/null +++ b/e/ELSI/ELSI-2.6.4-intel-2020b.eb @@ -0,0 +1,37 @@ +# IT4Innovations +# LK JK 2022 + +name = 'ELSI' +version = '2.6.4' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/11/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e43fc12b4954ecd70813fcb45aaef39779f7d9bb5270bbc7246e88d92c8b1dc4'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('ELPA', '2020.11.001'), +# ('SLEPc', '3.13.3'), +] + +# SLEPc and internal PEXSI can't coexist due to conflicting dependencies +build_internal_pexsi = False + +runtest = True + +moduleclass = 'math'