modified: a/AOCL/AOCL-3.0-6-GCCcore-10.2.0.eb

new file:   e/ELSI/ELSI-2.5.0-intel-2020b.eb
	new file:   f/FFTW/FFTW-3.3.8-gompi-2020a-amd.eb
	new file:   l/libGridXC/libGridXC-0.8.5-iimpi-2020b.eb
	new file:   l/libPSML/libPSML-1.1.8-iccifort-2020.4.304.eb
	new file:   l/libxc/libxc-4.3.4-intel-2020b.eb
	new file:   p/PETSc/PETSc-3.12.4-intel-2020b.eb
	new file:   s/SLEPc/SLEPc-3.13.3-intel-2020a-Python-3.8.6.eb
	new file:   s/Siesta/Siesta-4.1-Max-1.2.0-intel-2020b.eb
	new file:   s/Siesta/Siesta-4.1-b5-intel-2020b-test.eb
	new file:   t/TotalView/TotalView-2021.2.14.eb
	new file:   x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb
This commit is contained in:
Lukas Krupcik 2021-08-16 08:54:09 +02:00
parent 0ab2f0a8cc
commit 123e29051e
12 changed files with 381 additions and 0 deletions

View File

@ -20,6 +20,7 @@ dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
('libxml2', '2.9.10'),
('AOCC', '3.1.0'),
]
moduleclass = 'numlib'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'