diff --git a/a/AOCL/AOCL-3.0-6-GCCcore-10.2.0.eb b/a/AOCL/AOCL-3.0-6-GCCcore-10.2.0.eb index 7ec63cd0..aaa7f7bf 100644 --- a/a/AOCL/AOCL-3.0-6-GCCcore-10.2.0.eb +++ b/a/AOCL/AOCL-3.0-6-GCCcore-10.2.0.eb @@ -20,6 +20,7 @@ dependencies = [ ('ncurses', '6.2'), ('zlib', '1.2.11'), ('libxml2', '2.9.10'), + ('AOCC', '3.1.0'), ] moduleclass = 'numlib' diff --git a/e/ELSI/ELSI-2.5.0-intel-2020b.eb b/e/ELSI/ELSI-2.5.0-intel-2020b.eb new file mode 100644 index 00000000..d7f1b659 --- /dev/null +++ b/e/ELSI/ELSI-2.5.0-intel-2020b.eb @@ -0,0 +1,37 @@ +# IT4Innovations +# LK 2021 + +name = 'ELSI' +version = '2.5.0' + +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/02/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('CMake', '3.20.1', '', True), +] + +dependencies = [ + ('ELPA', '2019.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' diff --git a/f/FFTW/FFTW-3.3.8-gompi-2020a-amd.eb b/f/FFTW/FFTW-3.3.8-gompi-2020a-amd.eb new file mode 100644 index 00000000..4b2033ae --- /dev/null +++ b/f/FFTW/FFTW-3.3.8-gompi-2020a-amd.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2021 + +name = 'FFTW' +version = '3.3.8' +local_amd_fftw_ver = '2.2' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-aocl/fftw/' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data. +AMD FFTW includes selective kernels and routines optimized for the AMD EPYC™ processor family.""" + +toolchain = {'name': 'gompi', 'version': '2020a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/amd/amd-fftw/archive/'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_amd_fftw_ver, + 'filename': 'amd-fftw-%s.tar.gz' % local_amd_fftw_ver, +}] +checksums = ['de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8'] + +configopts = '--enable-amd-opt' + +#runtest = 'check' + +moduleclass = 'numlib' diff --git a/l/libGridXC/libGridXC-0.8.5-iimpi-2020b.eb b/l/libGridXC/libGridXC-0.8.5-iimpi-2020b.eb new file mode 100644 index 00000000..95afbc3c --- /dev/null +++ b/l/libGridXC/libGridXC-0.8.5-iimpi-2020b.eb @@ -0,0 +1,39 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.8.5' + +homepage = 'https://launchpad.net/libgridxc' +description = """A library to compute the exchange and correlation energy and potential in spherical (i.e. an atom) + or periodic systems. It is based on SiestaXC.""" + +toolchain = {'name': 'iimpi', 'version': '2020b'} + +source_urls = ['https://launchpad.net/libgridxc/trunk/0.8/+download/'] +sources = [SOURCELOWER_TGZ] +checksums = ['66192e2d3379677d6687510915d7b24ffefeec96899b0bbf2adeec63a1d83c26'] + +dependencies = [('libxc', '4.3.4')] + +skipsteps = ['configure', 'install'] + +prebuildopts = "mkdir build && cd build && sh ../src/config.sh && " +prebuildopts += "cp ../extra/fortran.mk . && " +prebuildopts += "sed -i 's/=gfortran/=${F90}/' fortran.mk && " +prebuildopts += "sed -i 's/=mpif90/=${MPIF90}/' fortran.mk && " +prebuildopts += "export LIBXC_ROOT=$EBROOTLIBXC && " +prebuildopts += "make clean && " + +buildopts = "WITH_LIBXC=1 WITH_MPI=1 PREFIX=%(installdir)s" + +parallel = 1 + +sanity_check_paths = { + 'files': ['gridxc.mk', 'libxc.mk', 'lib/libGridXC.a'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/l/libPSML/libPSML-1.1.8-iccifort-2020.4.304.eb b/l/libPSML/libPSML-1.1.8-iccifort-2020.4.304.eb new file mode 100644 index 00000000..32b0ab40 --- /dev/null +++ b/l/libPSML/libPSML-1.1.8-iccifort-2020.4.304.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.8' + +homepage = 'https://launchpad.net/libpsml' +description = """A library to handle PSML, the pseudopotential markup language.""" + +# can't move down to GCCcore and combine with Intel, gfortran modules are incompatible with ifort +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://launchpad.net/libpsml/trunk/1.1/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['657aca8ccc8e8ee209cbfdde10c5f423a140a3127e429ac9815a330cbcc95548'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [('xmlf90', '1.5.4')] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/l/libxc/libxc-4.3.4-intel-2020b.eb b/l/libxc/libxc-4.3.4-intel-2020b.eb new file mode 100644 index 00000000..947f870d --- /dev/null +++ b/l/libxc/libxc-4.3.4-intel-2020b.eb @@ -0,0 +1,51 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'CMakeMake' + +name = 'libxc' +version = '4.3.4' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/'] +sources = ['libxc-4.3.4.tar.gz'] +patches = [ + #'libxc-%(version)s_rename-F03.patch', + 'libxc-%(version)s.patch' +] + +builddependencies = [ + ('CMake', '3.20.1', '', True), + ('Perl', '5.32.0'), +] + +separate_build_dir = True + +# rename *.F03 source file since Intel Fortran local_compiler doesn't like that extension +# also requires patch file to rename file in CMakeLists.txt and src/Makefile.in +preconfigopts = "mv ../libxc-%(version)s/src/libxc_master.F03 ../libxc-%(version)s/src/libxc_master_F03.F90 && " + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info', 'bin/xc-threshold'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' diff --git a/p/PETSc/PETSc-3.12.4-intel-2020b.eb b/p/PETSc/PETSc-3.12.4-intel-2020b.eb new file mode 100644 index 00000000..2827d308 --- /dev/null +++ b/p/PETSc/PETSc-3.12.4-intel-2020b.eb @@ -0,0 +1,47 @@ +# IT4Innovations +# LK 2021 + +name = 'PETSc' +version = '3.12.4' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +# https:// does not work here +source_urls = [ + 'http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + '56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3', # petsc-3.12.4.tar.gz + '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch +] + +builddependencies = [('CMake', '3.20.1', '', True)] + +dependencies = [ + ('Boost', '1.72.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.0.9'), + ('MUMPS', '5.2.1', '-metis'), + ('SuiteSparse', '5.6.0', '-METIS-5.1.0'), + ('Hypre', '2.18.2'), +] + +configopts = '--LIBS="$LIBS -lrt" ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/s/SLEPc/SLEPc-3.13.3-intel-2020a-Python-3.8.6.eb b/s/SLEPc/SLEPc-3.13.3-intel-2020a-Python-3.8.6.eb new file mode 100644 index 00000000..d0150eb5 --- /dev/null +++ b/s/SLEPc/SLEPc-3.13.3-intel-2020a-Python-3.8.6.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2021 + +name = 'SLEPc' +version = '3.13.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://slepc.upv.es/' +description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution + of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for + either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a + partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a586ce572a928ed87f04961850992a9b8e741677397cbaa3fb028323eddf4598'] + +dependencies = [ + ('Python', '3.8.6'), + ('PETSc', '3.12.4', versionsuffix), +] + +petsc_arch = 'installed-arch-linux-c-opt' + +moduleclass = 'numlib' diff --git a/s/Siesta/Siesta-4.1-Max-1.2.0-intel-2020b.eb b/s/Siesta/Siesta-4.1-Max-1.2.0-intel-2020b.eb new file mode 100644 index 00000000..150999fb --- /dev/null +++ b/s/Siesta/Siesta-4.1-Max-1.2.0-intel-2020b.eb @@ -0,0 +1,34 @@ +# IT4Innovations +#LK 2021 + +name = 'Siesta' +_release = 'MaX-1.2.0' +version = '4.1-%s' % _release + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +# AMD/intel cpu +toolchain = {'name': 'intel', 'version': '2020b'} +#toolchainopts = {'usempi': True} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'opt': '03'} +else: + toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/archive/MaX-1.2.0/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('ELSI', '2.5.0'), + ('libGridXC', '0.8.5'), + ('libPSML', '1.1.8'), + ('netCDF-Fortran', '4.5.3'), + ('xmlf90', '1.5.4'), +] + +parallel=24 + +moduleclass = 'phys' diff --git a/s/Siesta/Siesta-4.1-b5-intel-2020b-test.eb b/s/Siesta/Siesta-4.1-b5-intel-2020b-test.eb new file mode 100644 index 00000000..09b1db31 --- /dev/null +++ b/s/Siesta/Siesta-4.1-b5-intel-2020b-test.eb @@ -0,0 +1,36 @@ +# IT4Innovations +#LK 2021 + +name = 'Siesta' +version = '4.1-b5' +versionsuffix = '-test' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +# AMD/intel cpu +toolchain = {'name': 'intel', 'version': '2020b'} +#toolchainopts = {'usempi': True} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'opt': '03'} +else: + toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/archive/v4.1.5/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a93b31e58ba036f33333ef88ff4df31'] + +dependencies = [('netCDF-Fortran', '4.5.3')] + +#runtest = 'check' + +#preconfigopts = 'export CXXFLAGS="-O3 -fPIC -march=core-avx2" && ' +#preconfigopts += 'export CFLAGS="-O3 -fPIC -march=core-avx2" && ' +#preconfigopts += 'export OPTFLAGS="-O3 -march=core-avx2 -ip" && ' +#preconfigopts += 'export FCFLAGS="-O3 -fPIC -march=core-avx2" && ' + +parallel=24 + +moduleclass = 'phys' diff --git a/t/TotalView/TotalView-2021.2.14.eb b/t/TotalView/TotalView-2021.2.14.eb new file mode 100644 index 00000000..08763cd7 --- /dev/null +++ b/t/TotalView/TotalView-2021.2.14.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# LK 2021 + +name = 'TotalView' +version = '2021.2.14' + +homepage = 'http://www.roguewave.com/products/totalview.aspx' +description = """TotalView is a GUI-based source code defect analysis tool that gives you unprecedented + control over processes and thread execution and visibility into program state and variables. It allows + you to debug one or many processes and/or threads in a single window with local_complete control over program + execution. This allows you to set breakpoints, stepping line by line through the code on a single thread, + or with coordinated groups of processes or threads, and run or halt arbitrary sets of processes or threads. + You can reproduce and troubleshoot difficult problems that can occur in concurrent programs that take + advantage of threads, OpenMP, MPI, GPUs or coprocessors.""" + +toolchain = SYSTEM + +sources = [ + '%(namelower)s_%(version)s_linux_x86-64.tar', +# '%(namelower)s_%(version)s-doc.tar', +] + +# licensepath +license_file = '/apps/licenses/totalview/license.lic' + +moduleclass = 'debugger' diff --git a/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb b/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb new file mode 100644 index 00000000..df08033c --- /dev/null +++ b/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +# can't move down to GCCcore and combine with Intel, gfortran modules are incompatible with ifort +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data'