Skip to content

Commit

Permalink
Merge pull request easybuilders#19524 from Flamefire/20240109103317_n…
Browse files Browse the repository at this point in the history
…ew_pr_CubeLib482

{perf}[gompi/2022a,gompi/2022b,gompi/2023a] CubeLib v4.8.2, CubeWriter v4.8.2, Score-P v8.3 w/ CUDA 11.7.0, CUDA 12.0.0, ...
  • Loading branch information
bedroge authored Dec 5, 2024
2 parents 5868067 + db3d176 commit 4dc71dd
Show file tree
Hide file tree
Showing 10 changed files with 535 additions and 0 deletions.
50 changes: 50 additions & 0 deletions easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Copyright 2019 Juelich Supercomputing Centre, Germany
# Copyright 2023-2024 TU Dresden, Germany
# Authors:: Markus Geimer <[email protected]>
# Alexander Grund <[email protected]>
# 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 = 'CubeLib'
version = '4.8.2'

homepage = 'https://www.scalasca.org/software/cube-4.x/download.html'
description = """
Cube, which is used as performance report explorer for Scalasca and Score-P,
is a generic tool for displaying a multi-dimensional performance space
consisting of the dimensions (i) performance metric, (ii) call path, and
(iii) system resource. Each dimension can be represented as a tree, where
non-leaf nodes of the tree can be collapsed or expanded to achieve the
desired level of granularity.
This module provides the Cube general purpose C++ library component and
command-line tools.
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4']

builddependencies = [
('binutils', '2.38'),
('pkgconf', '1.8.0'),
]

dependencies = [
('zlib', '1.2.12'),
]

configopts = '--enable-shared'

sanity_check_paths = {
'files': ['bin/cubelib-config',
'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT],
'dirs': ['include/cubelib'],
}

moduleclass = 'perf'
51 changes: 51 additions & 0 deletions easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright 2019 Juelich Supercomputing Centre, Germany
# Copyright 2023-2024 TU Dresden, Germany
# Authors:: Markus Geimer <[email protected]>
# Alexander Grund <[email protected]>
# 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 = 'CubeLib'
version = '4.8.2'

homepage = 'https://www.scalasca.org/software/cube-4.x/download.html'
description = """
Cube, which is used as performance report explorer for Scalasca and Score-P,
is a generic tool for displaying a multi-dimensional performance space
consisting of the dimensions (i) performance metric, (ii) call path, and
(iii) system resource. Each dimension can be represented as a tree, where
non-leaf nodes of the tree can be collapsed or expanded to achieve the
desired level of granularity.
This module provides the Cube general purpose C++ library component and
command-line tools.
"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4']

builddependencies = [
# use same binutils version that was used when building GCCcore
('binutils', '2.40'),
('pkgconf', '1.9.5'),
]

dependencies = [
('zlib', '1.2.13'),
]

configopts = '--enable-shared'

sanity_check_paths = {
'files': ['bin/cubelib-config',
'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT],
'dirs': ['include/cubelib'],
}

moduleclass = 'perf'
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany
# Copyright 2023-2024 TU Dresden, Germany
# Authors:: Markus Geimer <[email protected]>
# Alexander Grund <[email protected]>
# 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 = 'CubeWriter'
version = '4.8.2'

homepage = 'https://www.scalasca.org/software/cube-4.x/download.html'
description = """
Cube, which is used as performance report explorer for Scalasca and Score-P,
is a generic tool for displaying a multi-dimensional performance space
consisting of the dimensions (i) performance metric, (ii) call path, and
(iii) system resource. Each dimension can be represented as a tree, where
non-leaf nodes of the tree can be collapsed or expanded to achieve the
desired level of granularity.
This module provides the Cube high-performance C writer library component.
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}

source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist']
sources = ['cubew-%(version)s.tar.gz']
checksums = ['4f3bcf0622c2429b8972b5eb3f14d79ec89b8161e3c1cc5862ceda417d7975d2']

builddependencies = [
('binutils', '2.38'),
('pkgconf', '1.8.0'),
]

dependencies = [
('zlib', '1.2.12'),
]

configopts = '--enable-shared'

sanity_check_paths = {
'files': ['bin/cubew-config',
'lib/libcube4w.a', 'lib/libcube4w.%s' % SHLIB_EXT],
'dirs': ['include/cubew'],
}

moduleclass = 'perf'
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany
# Copyright 2023-2024 TU Dresden, Germany
# Authors:: Markus Geimer <[email protected]>
# Alexander Grund <[email protected]>
# 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 = 'CubeWriter'
version = '4.8.2'

homepage = 'https://www.scalasca.org/software/cube-4.x/download.html'
description = """
Cube, which is used as performance report explorer for Scalasca and Score-P,
is a generic tool for displaying a multi-dimensional performance space
consisting of the dimensions (i) performance metric, (ii) call path, and
(iii) system resource. Each dimension can be represented as a tree, where
non-leaf nodes of the tree can be collapsed or expanded to achieve the
desired level of granularity.
This module provides the Cube high-performance C writer library component.
"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist']
sources = ['cubew-%(version)s.tar.gz']
checksums = ['4f3bcf0622c2429b8972b5eb3f14d79ec89b8161e3c1cc5862ceda417d7975d2']

builddependencies = [
# use same binutils version that was used when building GCCcore
('binutils', '2.40'),
('pkgconf', '1.9.5'),
]

dependencies = [
('zlib', '1.2.13'),
]

configopts = '--enable-shared'

sanity_check_paths = {
'files': ['bin/cubew-config',
'lib/libcube4w.a', 'lib/libcube4w.%s' % SHLIB_EXT],
'dirs': ['include/cubew'],
}

moduleclass = 'perf'
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright 2013-2020 Juelich Supercomputing Centre, Germany
# Copyright 2020-2024 TU Dresden, Germany
# Authors::
# * Bernd Mohr <[email protected]>
# * Markus Geimer <[email protected]>
# * Alexander Grund <[email protected]>
# * Robert Mijakovic <[email protected]>
# License:: 3-clause BSD

name = 'Score-P'
version = '8.4'
versionsuffix = '-CUDA-%(cudaver)s'

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': 'gompi', 'version': '2022a'}

source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s']
sources = ['scorep-%(version)s.tar.gz']
checksums = ['7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a']

dependencies = [
('CUDA', '11.7.0', '', SYSTEM),
('UCX-CUDA', '1.12.1', versionsuffix),
('CubeLib', '4.8.2'),
('CubeWriter', '4.8.2'),
('libunwind', '1.6.2'),
('OPARI2', '2.0.7'),
('OTF2', '3.0.2'),
# Hardware counter support (optional):
('PAPI', '7.0.0'),
# PDT source-to-source instrumentation support (optional):
('PDT', '3.25.1'),
]

configopts = '--enable-shared'

local_adapters = [
'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt'
]
sanity_check_paths = {
'files':
['bin/scorep', 'include/scorep/SCOREP_User.h'] +
['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)],
'dirs': [],
}
sanity_check_commands = ['scorep-config --help']

# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}

moduleclass = 'perf'
54 changes: 54 additions & 0 deletions easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Copyright 2013-2020 Juelich Supercomputing Centre, Germany
# Copyright 2020-2024 TU Dresden, Germany
# Authors::
# * Bernd Mohr <[email protected]>
# * Markus Geimer <[email protected]>
# * Alexander Grund <[email protected]>
# * Robert Mijakovic <[email protected]>
# License:: 3-clause BSD

name = 'Score-P'
version = '8.4'

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': 'gompi', 'version': '2022a'}

source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s']
sources = ['scorep-%(version)s.tar.gz']
checksums = ['7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a']

dependencies = [
('CubeLib', '4.8.2'),
('CubeWriter', '4.8.2'),
('libunwind', '1.6.2'),
('OPARI2', '2.0.7'),
('OTF2', '3.0.2'),
# Hardware counter support (optional):
('PAPI', '7.0.0'),
# PDT source-to-source instrumentation support (optional):
('PDT', '3.25.1'),
]

configopts = '--enable-shared'

local_adapters = [
'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt'
]
sanity_check_paths = {
'files':
['bin/scorep', 'include/scorep/SCOREP_User.h'] +
['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)],
'dirs': [],
}
sanity_check_commands = ['scorep-config --help']

# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}

moduleclass = 'perf'
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright 2013-2020 Juelich Supercomputing Centre, Germany
# Copyright 2020-2024 TU Dresden, Germany
# Authors::
# * Bernd Mohr <[email protected]>
# * Markus Geimer <[email protected]>
# * Alexander Grund <[email protected]>
# * Robert Mijakovic <[email protected]>
# License:: 3-clause BSD

name = 'Score-P'
version = '8.4'
versionsuffix = '-CUDA-%(cudaver)s'

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': 'gompi', 'version': '2022b'}

source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s']
sources = ['scorep-%(version)s.tar.gz']
checksums = ['7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a']

dependencies = [
('CUDA', '12.0.0', '', SYSTEM),
('UCX-CUDA', '1.13.1', versionsuffix),
('CubeLib', '4.8.2'),
('CubeWriter', '4.8.2'),
('libunwind', '1.6.2'),
('OPARI2', '2.0.7'),
('OTF2', '3.0.3'),
# Hardware counter support (optional):
('PAPI', '7.0.1'),
# PDT source-to-source instrumentation support (optional):
('PDT', '3.25.1'),
]

configopts = '--enable-shared'

local_adapters = [
'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt'
]
sanity_check_paths = {
'files':
['bin/scorep', 'include/scorep/SCOREP_User.h'] +
['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)],
'dirs': [],
}
sanity_check_commands = ['scorep-config --help']

# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}

moduleclass = 'perf'
Loading

0 comments on commit 4dc71dd

Please sign in to comment.