Skip to content
Snippets Groups Projects
Commit bf5f616f authored by Marc Schluetter's avatar Marc Schluetter
Browse files

Score-p/Scalasca with gpsmpi-2022a-pmix

parent 1bf59747
Branches
No related tags found
No related merge requests found
easyblock = 'Toolchain'
name = 'gpsmpi'
version = '2022a-pmix'
homepage = '(none)'
description = 'GCC and GFortran based compiler toolchain, including Parastation MPICH2 for MPI support (using PMIx).'
toolchain = SYSTEM
local_compiler = ('GCC', '11.3.0')
dependencies = [
local_compiler,
('psmpi', '5.8.1-1', '-pmix', local_compiler),
]
moduleclass = 'toolchain'
name = 'psmpi'
version = '5.8.1-1'
versionsuffix = '-pmix'
homepage = 'https://github.com/ParaStation/psmpi2'
description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
based on MPICH v3. It provides extra low level communication libraries and integration with
various batch systems for tighter process control.
"""
toolchain = {'name': 'GCC', 'version': '11.3.0'}
sources = [SOURCE_TAR_GZ]
source_urls = ['https://gitlab.jsc.fz-juelich.de/ParTec/psmpi/uploads/762714c8eec01fe59239a52798a70e1c/']
checksums = [
# psmpi-5.8.1-1.tar.gz
'54dee42a2eb6ac26d43f5e0371ddc1e75225512365749b3d03856543b6a7366d',
]
osdependencies = [
# needed for --with-pmix
('pmix-devel'),
]
dependencies = [
('pscom', '5.6-default'),
# needed due to the inclusion of hwloc
('libxml2', '2.9.13'),
# Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
('CUDA', '11.7', '', SYSTEM)
]
configopts = '--with-pmix=/usr/lib64/pmix'
mpich_opts = '--enable-static --with-file-system=ufs+gpfs --enable-romio'
threaded = False
cuda = True
moduleclass = 'mpi'
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2023 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# Christian Feld <c.feld@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
easyblock = 'EB_Score_minus_P'
name = 'Scalasca'
version = '2023-09-26'
homepage = 'https://www.scalasca.org/'
description = """
Scalasca is a software tool that supports the performance optimization of
parallel programs by measuring and analyzing their runtime behavior. The
analysis identifies potential performance bottlenecks -- in particular
those concerning communication and synchronization -- and offers guidance
in exploring their causes.
"""
toolchain = {'name': 'gpsmpi', 'version': '2022a-pmix'}
source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scalasca/branches/MR71']
sources = ['latest.tar.gz']
builddependencies = [
('CubeWriter', '4.8.2'),
]
dependencies = [
('CubeGUI', '4.8.2'),
('CubeLib', '4.8.2'),
('OTF2', '3.0.3'),
('Score-P', '2023-09-26'),
]
sanity_check_paths = {
'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
'dirs': [],
}
# note that modextrapaths can be used for relative paths only
modextrapaths = {
# Ensure that local metric documentation is found by CubeGUI
'CUBE_DOCPATH': 'share/doc/scalasca/patterns'
}
modextravars = {
# Specifies an optional list of colon separated paths identifying
# suitable file systems for tracing. If set, the file system of
# trace measurements has to match at least one of the specified
# file systems.
'SCAN_TRACE_FILESYS': '/p/project:/p/scratch:/p/cscratch:/p/fastdata:/p/largedata:/p/largedata2'
}
moduleclass = 'perf'
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2023 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# Christian Feld <c.feld@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
easyblock = 'EB_Score_minus_P'
name = 'Score-P'
version = '2023-09-26'
homepage = 'https://www.score-p.org'
description = """
The Score-P measurement infrastructure is a highly scalable and easy-to-use
tool suite for profiling, event tracing, and online analysis of HPC
applications.
"""
toolchain = {'name': 'gpsmpi', 'version': '2022a-pmix'}
source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/branches/MR195']
sources = ['latest.tar.gz']
builddependencies = [
('CUDA', '11.7', '', SYSTEM),
('CubeLib', '4.8.2'),
('CubeWriter', '4.8.2'),
# Unwinding/sampling support (optional):
('libunwind', '1.6.2'),
]
dependencies = [
# binutils is implicitly available via GCC toolchain
('OPARI2', '2.0.8'),
('OTF2', '3.0.3'),
# Hardware counter support (optional):
('PAPI', '7.0.0'),
]
configopts = '--enable-shared --with-machine-name=$SYSTEMNAME '
# Enable CUDA support
configopts += '--with-libOpenCL=$EBROOTCUDA/targets/x86_64-linux '
# Make OMPT default, if available
configopts += '--enable-default=ompt '
postinstallcmds = ['make installcheck']
sanity_check_paths = {
'files': ['bin/scorep', 'include/scorep/SCOREP_User.h',
('lib/libscorep_adapter_mpi_event.a', 'lib64/libscorep_adapter_mpi_event.a'),
('lib/libscorep_adapter_mpi_event.%s' % SHLIB_EXT, 'lib64/libscorep_adapter_mpi_event.%s' % SHLIB_EXT)],
'dirs': [],
}
# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}
moduleclass = 'perf'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment