mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-04 14:21:33 +01:00
new file: c/CUDA/CUDA-12.6.0.eb
new file: g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.6.0.eb new file: h/hwloc/hwloc-1.11.6-GCCcore-12.2.0.eb new file: m/MVAPICH2/MVAPICH2-2.2-GCC-9.3.0.eb new file: o/OpenMPI/OpenMPI-2.1.0-GCC-12.2.0.eb modified: o/OpenMX/OpenMX-3.9-foss-2022b.eb modified: u/UCX/UCX-1.12.0-GCC-10.2.0-CUDA-11.6.0.eb
This commit is contained in:
parent
743c4a2e42
commit
0993e12984
17
c/CUDA/CUDA-12.6.0.eb
Normal file
17
c/CUDA/CUDA-12.6.0.eb
Normal file
@ -0,0 +1,17 @@
|
||||
name = 'CUDA'
|
||||
version = '12.6.0'
|
||||
local_nv_version = '560.28.03'
|
||||
|
||||
homepage = 'https://developer.nvidia.com/cuda-toolkit'
|
||||
description = """CUDA (formerly Compute Unified Device Architecture) is a parallel
|
||||
computing platform and programming model created by NVIDIA and implemented by the
|
||||
graphics processing units (GPUs) that they produce. CUDA gives developers access
|
||||
to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs."""
|
||||
|
||||
toolchain = SYSTEM
|
||||
|
||||
source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/']
|
||||
sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version]
|
||||
checksums = ['9223c4af3aebe4a7bbed9abd9b163b03a1b34b855fbc2b4a0d1b706ac09a5a16']
|
||||
|
||||
moduleclass = 'system'
|
60
g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.6.0.eb
Normal file
60
g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.6.0.eb
Normal file
@ -0,0 +1,60 @@
|
||||
# IT4Innovations 2024
|
||||
# BS
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'GDRCopy'
|
||||
version = '2.1'
|
||||
versionsuffix = '-CUDA-11.6.0'
|
||||
|
||||
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 = ['cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea']
|
||||
|
||||
builddependencies = [
|
||||
('binutils', '2.35'),
|
||||
('Autotools', '20200321'),
|
||||
('pkg-config', '0.29.2'),
|
||||
]
|
||||
|
||||
dependencies = [
|
||||
('Check', '0.15.2'),
|
||||
('CUDAcore', '11.6.0', '', 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'
|
45
h/hwloc/hwloc-1.11.6-GCCcore-12.2.0.eb
Normal file
45
h/hwloc/hwloc-1.11.6-GCCcore-12.2.0.eb
Normal file
@ -0,0 +1,45 @@
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'hwloc'
|
||||
version = '1.11.6'
|
||||
|
||||
homepage = 'https://www.open-mpi.org/projects/hwloc/'
|
||||
|
||||
description = """
|
||||
The Portable Hardware Locality (hwloc) software package provides a portable
|
||||
abstraction (across OS, versions, architectures, ...) of the hierarchical
|
||||
topology of modern architectures, including NUMA memory nodes, sockets, shared
|
||||
caches, cores and simultaneous multithreading. It also gathers various system
|
||||
attributes such as cache and memory information as well as the locality of I/O
|
||||
devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily
|
||||
aims at helping applications with gathering information about modern computing
|
||||
hardware so as to exploit it accordingly and efficiently.
|
||||
"""
|
||||
|
||||
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
|
||||
|
||||
source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
|
||||
sources = [SOURCE_TAR_GZ]
|
||||
checksums = ['20b2bd4df436827d8e50f7afeafb6f967259f2fb374ce7330244f8d0ed2dde6f']
|
||||
|
||||
builddependencies = [
|
||||
('binutils', '2.39'),
|
||||
]
|
||||
|
||||
dependencies = [
|
||||
('numactl', '2.0.16'),
|
||||
('libxml2', '2.10.3'),
|
||||
('libpciaccess', '0.17'),
|
||||
]
|
||||
|
||||
configopts = "--enable-libnuma=$EBROOTNUMACTL "
|
||||
configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev "
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/lstopo', 'include/hwloc/linux.h',
|
||||
'lib/libhwloc.%s' % SHLIB_EXT],
|
||||
'dirs': ['share/man/man3'],
|
||||
}
|
||||
sanity_check_commands = ['lstopo']
|
||||
|
||||
moduleclass = 'system'
|
31
m/MVAPICH2/MVAPICH2-2.2-GCC-9.3.0.eb
Normal file
31
m/MVAPICH2/MVAPICH2-2.2-GCC-9.3.0.eb
Normal file
@ -0,0 +1,31 @@
|
||||
# IT4Innovations 2024
|
||||
|
||||
name = 'MVAPICH2'
|
||||
version = '2.2'
|
||||
|
||||
homepage = 'http://mvapich.cse.ohio-state.edu/overview/mvapich2/'
|
||||
description = "This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH."
|
||||
|
||||
toolchain = {'name': 'GCC', 'version': '9.3.0'}
|
||||
|
||||
source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
|
||||
checksums = [
|
||||
'27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae2',
|
||||
]
|
||||
|
||||
preconfigopts = 'unset F90 && unset FC && unset F90FLAGS && unset FCFLAGS && '
|
||||
|
||||
configopts = "--enable-btl-openib-failover --with-tm=/opt/pbs/default --with-openib "
|
||||
configopts += "--enable-threads=runtime --enable-shared --with-device=ch3:nemesis "
|
||||
configopts += "--disable-rdma-cm --enable-romio" #--with-file-system=lustre+nfs "
|
||||
|
||||
builddependencies = [('Bison', '3.5.3')]
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['lib/libmpicxx.a'],
|
||||
'dirs': ['include']
|
||||
}
|
||||
|
||||
moduleclass = 'mpi'
|
42
o/OpenMPI/OpenMPI-2.1.0-GCC-12.2.0.eb
Normal file
42
o/OpenMPI/OpenMPI-2.1.0-GCC-12.2.0.eb
Normal file
@ -0,0 +1,42 @@
|
||||
#IT4Innovations
|
||||
#BS 2024
|
||||
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'OpenMPI'
|
||||
version = '2.1.0'
|
||||
|
||||
homepage = 'https://www.open-mpi.org/'
|
||||
description = """The Open MPI Project is an open source MPI-2 implementation."""
|
||||
|
||||
toolchain = {'name': 'GCC', 'version': '12.2.0'}
|
||||
|
||||
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
patches = ['OpenMPI-2.1_fix-ib-query.patch']
|
||||
checksums = [
|
||||
'265a9c64a468cce464edd069ed8612e1865c5f112f84f4a7a855fb2a0d15e74b', # openmpi-2.1.0.tar.gz
|
||||
'662d7ef1d0cd0890d2dc4ecb5243012be29bf6b4003da0f006e7cd2125d40e4c', # OpenMPI-2.1_fix-ib-query.patch
|
||||
]
|
||||
|
||||
dependencies = [('hwloc', '1.11.6')]
|
||||
|
||||
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
|
||||
configopts += '--enable-mpirun-prefix-by-default ' # suppress failure modes in relation to mpirun path
|
||||
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
|
||||
configopts += '--without-ucx ' # hard disable UCX, to dance around bug (https://github.com/open-mpi/ompi/issues/4345)
|
||||
|
||||
# needed for --with-verbs
|
||||
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
|
||||
|
||||
local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
|
||||
sanity_check_paths = {
|
||||
'files': ["bin/%s" % x for x in ["ompi_info", "opal_wrapper", "orterun"]] +
|
||||
["lib/lib%s.%s" % (x, SHLIB_EXT) for x in local_libs] +
|
||||
["include/%s.h" % x for x in ["mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]],
|
||||
'dirs': [],
|
||||
}
|
||||
|
||||
moduleclass = 'mpi'
|
||||
|
@ -4,6 +4,8 @@
|
||||
name = 'OpenMX'
|
||||
version = '3.9'
|
||||
|
||||
easyblock = 'MakeCp'
|
||||
|
||||
homepage = 'http://www.openmx-square.org/index.html'
|
||||
description = """OpenMX (Open source package for Material eXplorer) is a software
|
||||
package for nano-scale material simulations based on density functional
|
||||
@ -15,33 +17,46 @@ toolchain = {'name': 'foss', 'version': '2022b'}
|
||||
toolchainopts = {'usempi': True, 'openmp': True}
|
||||
|
||||
source_urls = [
|
||||
'http://t-ozaki.issp.u-tokyo.ac.jp/openmx%(version).tar.gz',
|
||||
'https://www.openmx-square.org/',
|
||||
'http://www.openmx-square.org/bugfixed/21Oct17/'
|
||||
]
|
||||
sources = [
|
||||
{
|
||||
'filename': 'openmx%(version).tgz',
|
||||
'extract_cmd': 'mkdir -p %(builddir)s/openmx-%(version) && tar xzvf %s --strip-components=1 -C $_',
|
||||
'filename': 'openmx3.9.tar.gz',
|
||||
'extract_cmd': 'mkdir -p %(builddir)s/openmx3.9 && tar xzvf %s --strip-components=1 -C $_',
|
||||
},
|
||||
{
|
||||
'filename': 'patch%(version).9.tar.gz',
|
||||
'filename': 'patch3.9.9.tar.gz',
|
||||
'download_filename': 'patch%(version).9.tar.gz',
|
||||
'source_urls': ['http://www.openmx-square.org/bugfixed/21Oct17/']
|
||||
},
|
||||
]
|
||||
checksums = [
|
||||
'27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae', # openmx3.9.tar.gz
|
||||
'20cccc4e3412a814a53568f400260e90f79f0bfb7e2bed84447fe071b26edd3', # patch3.9.9.tar.gz
|
||||
'27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae2', # openmx3.9.tar.gz
|
||||
'20cccc4e3412a814a53568f400260e90f79f0bfb7e2bed84447fe071b26edd38', # patch3.9.9.tar.gz
|
||||
]
|
||||
|
||||
dependencies = [
|
||||
('LAPACK', '3.10.0'),
|
||||
('ELPA', '2022.05.001'),
|
||||
('FFTW', '3.3.10'),
|
||||
('OpenMPI', '4.1.4'),
|
||||
]
|
||||
|
||||
|
||||
files_to_copy = [
|
||||
('%(sourcepath)s/patch3.9.9.tar.gz', '%(builddir)s/openmx3.9/source'),
|
||||
('%(sourcepath)s/kpoint.in', '%(sourcepath)s/openmx3.9/work')
|
||||
]
|
||||
|
||||
#build_cmd = 'cd %(builddir)s/openmx3.9/source && sed -i "s/-xHOST//g" makefile && sed -i "s/-ip//g" makefile && make CFLAGS="-O3 -no-prec-div -fopenmp"'
|
||||
|
||||
|
||||
build_cmd = 'cd /dev/shm/easybuild/build/OpenMX/3.9/foss-2022b/openmx3.9/source && sed -i "s/-xHOST//g" makefile && sed -i "s/-ip//g" makefile && sed -i "s/-qopenmp/-fopenmp/g" makefile && sed -i "s/-no-prec-div//g" makefile && make CFLAGS="-O3 -fopenmp"'
|
||||
|
||||
# The third party packages should be installed separately and added as
|
||||
# dependencies. The exception is w90, which is force built
|
||||
buildopts = 'all'
|
||||
#buildopts = 'all'
|
||||
|
||||
# parallel build tends to fail
|
||||
parallel = 1
|
||||
|
@ -30,11 +30,13 @@ osdependencies = [OS_PKG_IBVERBS_DEV]
|
||||
dependencies = [
|
||||
('numactl', '2.0.13'),
|
||||
('CUDAcore', '11.6.0', '', True),
|
||||
('GDRCopy', '2.1', '-GCCcore-10.2.0-CUDA-11.6.0', True),
|
||||
]
|
||||
|
||||
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'
|
||||
|
Loading…
x
Reference in New Issue
Block a user