merge master

This commit is contained in:
Lukas Krupcik 2021-10-14 09:13:00 +02:00
commit 868052c35e
18 changed files with 725 additions and 12 deletions

View File

@ -0,0 +1,69 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'ABINIT'
version = '9.4.1'
homepage = 'https://www.abinit.org/'
description = """ABINIT is a package whose main program allows one to find the total energy,
charge density and electronic structure of systems made of electrons and nuclei (molecules
and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a
planewave or wavelet basis."""
# AMD/intel cpu
toolchain = {'name': 'intel', 'version': '2020b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'usempi': True, 'pic': True}
source_urls = ['https://www.abinit.org/sites/default/files/packages/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['ec74133ef9d247cb6ad44c205675694919cf36d7f1682a9b85cae8bdecdc22a8']
builddependencies = [
('Python', '3.8.6'),
]
dependencies = [
('libxc', '4.3.4'),
('netCDF', '4.7.4'),
('netCDF-Fortran', '4.5.3'),
('HDF5', '1.10.7'),
('Wannier90', '3.1.0'),
]
# Ensure MPI with intel wrappers.
configopts = '--with-mpi="yes" --enable-openmp="no" '
configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" '
# BLAS/Lapack from MKL
configopts += '--with-linalg-flavor=mkl '
# FFTW from MKL
configopts += '--with-fft-flavor=dfti '
# libxc support
configopts += '--with-libxc=${EBROOTLIBXC} '
# hdf5/netcdf4 support
configopts += '--with-netcdf="${EBROOTNETCDF}" '
configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" '
configopts += '--with-hdf5="${EBROOTHDF5}" '
# Wannier90
configopts += '--with-wannier90="${EBROOTWANNIER90}" '
preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && '
# 'make check' is just executing some basic unit tests.
# Also running 'make tests_v1' to have some basic validation
runtest = "check && make test_v1"
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'chem'

View File

@ -12,8 +12,14 @@ description = """ABINIT is a package whose main program allows one to find the t
and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a
planewave or wavelet basis."""
# AMD/intel cpu
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True, 'pic': True}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'usempi': True, 'pic': True}
source_urls = ['https://www.abinit.org/sites/default/files/packages/']
sources = [SOURCELOWER_TAR_GZ]
@ -26,7 +32,7 @@ dependencies = [
('libxc', '4.3.4'),
('netCDF', '4.7.4'),
('netCDF-Fortran', '4.5.3'),
('HDF5', '1.10.7'),
('HDF5', '1.10.6', '-parallel'),
('Wannier90', '3.1.0'),
]

View File

@ -0,0 +1,78 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'ABINIT'
version = '9.4.2'
homepage = 'https://www.abinit.org/'
description = """
ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of
systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using
pseudopotentials and a planewave or wavelet basis.
"""
toolchain = {'name': 'intel', 'version': '2021a'}
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'usempi': True, 'pic': True}
source_urls = ['https://www.abinit.org/sites/default/files/packages/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc']
builddependencies = [
('Python', '3.9.5'),
]
dependencies = [
('libxc', '5.1.5'),
('netCDF', '4.8.0'),
('netCDF-Fortran', '4.5.3'),
('HDF5', '1.10.7'),
('Wannier90', '3.1.0'),
]
# Ensure MPI with intel wrappers.
configopts = '--with-mpi="yes" --enable-mpi-io --enable-mpi-inplace'
configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" '
# Disable OpenMP
configopts += '--enable-openmp="no" '
# BLAS/Lapack from MKL
configopts += '--with-linalg-flavor=mkl --with-optim-flavor="aggressive" '
# FFTW from MKL
configopts += '--with-fft-flavor=dfti '
# libxc support
configopts += '--with-libxc=${EBROOTLIBXC} '
# hdf5/netcdf4 support
configopts += '--with-netcdf="${EBROOTNETCDF}" '
configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" '
configopts += '--with-hdf5="${EBROOTHDF5}" '
# Wannier90
configopts += '--with-wannier90="${EBROOTWANNIER90}" '
preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && '
# Enable double precision for GW calculations
configopts += '--enable-gw-dpc '
# 'make check' is just executing some basic unit tests.
# Also running 'make tests_v1' to have some basic validation
runtest = "check && make test_v1"
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'chem'

View File

@ -0,0 +1,22 @@
# IT4Innovations
# LK 2021
name = 'ANSYS'
version = '20.2'
homepage = 'http://www.ansys.com'
description = """ANSYS simulation software enables organizations to confidently predict
how their products will operate in the real world. We believe that every product is
a promise of something greater. """
toolchain = {'name': 'intel', 'version': '2017c'}
# create a zip file from the 3 install iso files.
# make sure all files of the iso's are in the same directory.
sources = ['ansys-20.2.tar.gz']
import os
license_server = os.getenv('EB_ANSYS_LICENSE_SERVER', 'license.it4i.cz')
license_server_port = os.getenv('EB_ANSYS_LICENSE_SERVER_PORT', '2325:1055')
moduleclass = 'tools'

View File

@ -0,0 +1,26 @@
# IT4Innovations
# LK 2021
name = 'ANSYS'
version = '21.2'
homepage = 'http://www.ansys.com'
description = """ANSYS simulation software enables organizations to confidently predict
how their products will operate in the real world. We believe that every product is
a promise of something greater. """
toolchain = {'name': 'intel', 'version': '2020b'}
# create a zip file from the 3 install iso files.
# make sure all files of the iso's are in the same directory.
sources = ['ansys-%(version)s.tar.gz']
dependencies = [
('libGLU', '9.0.1'),
]
import os
license_server = os.getenv('EB_ANSYS_LICENSE_SERVER', '10.5.8.13')
license_server_port = os.getenv('EB_ANSYS_LICENSE_SERVER_PORT', '2325:1055')
moduleclass = 'tools'

View File

@ -0,0 +1,58 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.1'
versionsuffix = '-CUDA-11.4.1'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'NVHPC', 'version': '21.9'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Check', '0.15.2'),
('CUDAcore', '11.4.1', '', True),
]
# This easyconfig only installs the library and binaries of GDRCopy. Please
# keep in mind that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "PREFIX=%(installdir)s CUDA=$EBROOTCUDACORE"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib exes %s" % local_envopts
installopts = local_envopts
sanity_check_paths = {
'files': ['bin/copybw', 'bin/copylat', 'bin/sanity', 'lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,55 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.3'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475']
builddependencies = [
('binutils', '2.35'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
# This easyconfig only installs the library of GDRCopy. Please keep in mind
# that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "prefix=%(installdir)s"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib %s" % local_envopts
install_cmd = "make lib_install"
installopts = local_envopts
sanity_check_paths = {
'files': ['lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,60 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.3'
versionsuffix = '-CUDA-11.4.1'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'NVHPC', 'version': '21.9'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475']
builddependencies = [
('binutils', '2.35'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('CUDAcore', '11.4.1', '', True),
]
# This easyconfig only installs the library of GDRCopy. Please keep in mind
# that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "prefix=%(installdir)s"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib %s" % local_envopts
install_cmd = "make lib_install"
installopts = local_envopts
sanity_check_paths = {
'files': ['lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,32 @@
# IT4Innovations 2021
# JK - update homepage a zdroje
easyblock = 'ConfigureMake'
name = 'grace'
version = '5.1.25'
homepage = 'https://plasma-gate.weizmann.ac.il/Grace/'
description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif."""
source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable/']
sources = [SOURCE_TAR_GZ]
toolchain = {'name': 'intel', 'version': '2020b'}
#dependencies = [
# ('motif', '2.3.8', '', True),
# ('netCDF', '4.6.1'),
#]
#runtest = 'tests'
# we also need to run make links right before or after make install.
installopts = 'links'
sanity_check_paths = {
'files': ['bin/xmgrace'],
'dirs': [],
}
moduleclass = 'vis'

View File

@ -0,0 +1,28 @@
# IT4Innovations
# LK 2021
name = 'HDF5'
version = '1.10.7'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2021a'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -33,4 +33,6 @@ modextravars = {
'I_MPI_EXTRA_FILESYSTEM_LIST': 'lustre',
}
parallel = 1
moduleclass = 'mpi'

65
n/NVHPC/NVHPC-21.9.eb Normal file
View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
name = 'NVHPC'
version = '21.9'
homepage = 'https://developer.nvidia.com/hpc-sdk/'
description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
toolchain = SYSTEM
# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html)
accept_eula = True
source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
sources = [local_tarball_tmpl % '%(arch)s']
local_gccver = '10.2.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.35', '', ('GCCcore', local_gccver)),
# This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
('numactl', '2.0.13', '', ('GCCcore', local_gccver))
]
# specify default CUDA version that should be used by NVHPC
# should match one of the CUDA versions that are included with this NVHPC version
# (see install_components/Linux_x86_64/20.7/cuda/)
# for NVHPC 20.7, those are: 11.0, 10.2, 10.1;
# this version can be tweaked from the EasyBuild command line with
# --try-amend=default_cuda_version="10.2" (for example)
default_cuda_version = '11.4'
# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
# The following list gives examples for the easyconfig
#
# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
# 1) Bundled CUDA
# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
# default_cuda_version = "11.0"
# in this easyconfig file; alternatively, it can be specified through the command line during installation with
# --try-amend=default_cuda_version="10.2"
# 2) CUDA provided via EasyBuild
# Use CUDAcore as a dependency, for example
# dependencies = [('CUDAcore', '11.0.2')]
# The parameter default_cuda_version still can be set as above.
# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
#
# Define a NVHPC-default Compute Capability
# cuda_compute_capabilities = "8.0"
cuda_compute_capabilities = '7.0' #V100 GPU
# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
# Only single values supported, not lists of values!
#
# Options to add/remove things to/from environment module (defaults shown)
# module_byo_compilers = Yes # Remove compilers from PATH (Bring-your-own compilers)
# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI
# module_add_math_libs = Yes # Add NVHPC's math libraries (which should be there from CUDA anyway)
# module_add_profilers = Yes # Add NVHPC's NVIDIA Profilers
# module_add_nccl = Yes # Add NVHPC's NCCL library
# module_add_nvshmem = Yes # Add NVHPC's NVSHMEM library
# module_add_cuda = Yes # Add NVHPC's bundled CUDA
# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
moduleclass = 'compiler'

View File

@ -0,0 +1,44 @@
# IT4Innovations 2021
# LK
name = 'OpenMPI'
version = '4.0.6'
versionsuffix = '-CUDA-11.4.1'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'NVHPC', 'version': '21.9'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('UCX', '1.11.2', versionsuffix),
('CUDAcore', '11.4.1', '', True),
('GDRCopy', '2.3', versionsuffix),
]
preconfigopts = 'export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && '
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-cuda=$EBROOTCUDACORE '
moduleclass = 'mpi'
#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0")
#setenv("export OMPI_MCA_btl_openib_allow_ib", "1")
#setenv("OMPI_MCA_pml", "^ucx")
#setenv("OMPI_MCA_orte_base_help_aggregate", "0")
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_openib_allow_ib': '1',
'OMPI_MCA_orte_base_help_aggregate': '0',
'OMPI_MCA_pml': '^ucx',
}

View File

@ -0,0 +1,63 @@
# IT4Innovations
# LK 2021
name = 'OpenMPI'
version = '4.1.1'
versionsuffix = '-AOCL-3.0.1-AOCC-3.1.0'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_BZ2]
patches = [
'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch',
'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch'
]
checksums = [
'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2
# OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch
'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e',
# OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch
'8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d',
]
builddependencies = [
('pkg-config', '0.29.2'),
]
dependencies = [
('hwloc', '2.4.1', '-AOCL-3.0.1-AOCC-3.1.0', True),
('UCX', '1.10.0', '-AOCL-3.0.1-AOCC-3.1.0', True),
]
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX CC="clang" CXX="clang++" FC="flang"'
postinstallcmds = [
'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf',
'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf',
]
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -1,5 +1,5 @@
# IT4Innovations 2021
# JK 2021
# JK2021
easyblock = 'CMakeMake'

View File

@ -11,22 +11,28 @@ homepage = "https://qmcpack.org/"
description = """QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater local_computational expense.
"""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'opt': True, 'pic': True, 'usempi': True}
# vyžaduje GCC 9.3.0, které nemá podporu pro naše AMD procesory => kompilace s druhým AMD hackem je broken
toolchain = {'name': 'intel', 'version': '2020b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
# prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&"
else:
toolchainopts = {'opt': True, 'pic': True, 'usempi': True}
source_urls = ['https://github.com/QMCPACK/qmcpack/archive/']
sources = ['v%(version)s.tar.gz']
builddependencies = [('CMake', '3.16.4')]
builddependencies = [('CMake', '3.20.1', '', True)]
dependencies = [
('libxml2', '2.9.10'),
('Boost', '1.72.0'),
('HDF5', '1.10.6', '', ('iimpi', '2020a')),
('Python', '3.8.2'),
('h5py', '2.10.0', '-Python-3.8.2'), # versionsuffix
('numpy', '1.18.3', '-Python-3.8.2'),
('matplotlib', '3.2.1', '-Python-3.8.2'),
('Boost', '1.74.0'),
('HDF5', '1.10.6', '-parallel'),
('Python', '3.8.6'),
('h5py', '3.1.0'),
('SciPy-bundle', '2020.11'),
('GCC', '9.3.0', '', True), # obejití podmínky GCC 9.3.0
]
separate_build_dir = True
@ -40,6 +46,7 @@ preinstallopts = [
' cp -r %(builddir)s/qmcpack-%(version)s/nexus/lib %(installdir)s/nexus/lib && ',
]
# prida nexus knihovny do PYTHONPATH
modextrapaths = {'PYTHONPATH': 'nexus/lib'}

View File

@ -0,0 +1,47 @@
# IT4Innovations
# LK 2021
# Dokoncit `make install` rucne, nejde bez ROOTa !!!
# /apps/all/Singularity/3.7.0/etc/singularity/singularity.conf nv=yes !!!
# Poslat info na tomas.karasek@vsb.cz o zmene...
easyblock = 'ConfigureMake'
name = 'Singularity'
version = '3.8.3'
homepage = 'https://github.com/sylabs/singularity'
description = "Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way."
toolchain = SYSTEM
source_urls = ['https://github.com/hpcng/singularity/releases/download/v%s/' % version]
sources = ['singularity-%(version)s.tar.gz']
builddependencies = [
('Go', '1.13.5'),
]
dependencies = [
('squashfs-tools', '4.3'),
]
osdependencies = [
('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]
skipsteps = ['configure']
prebuildopts = './mconfig --prefix=%(installdir)s && '
buildopts = '-C ./builddir'
postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
sanity_check_paths = {
'files': ['bin/singularity'],
'dirs': ['bin', 'etc', 'libexec', 'var'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,51 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.11.2'
versionsuffix= '-CUDA-11.4.1'
homepage = 'http://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'NVHPC', 'version': '21.9'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
#patches = ['%(name)s-%(version)s.patch']
builddependencies = [
('binutils', '2.35'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.13'),
('CUDAcore', '11.4.1', '', True),
('GDRCopy', '2.3', '-CUDA-11.4.1'),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=$EBROOTGDRCOPY '
configopts += '--without-java --disable-doxygen-doc --with-cuda=$EBROOTCUDACORE '
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
#sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'