From 77c4e40620084371f8ec324214efd48107e534d2 Mon Sep 17 00:00:00 2001
From: Marc Schluetter <m.schluetter@fz-juelich.de>
Date: Mon, 25 Mar 2024 16:11:58 +0100
Subject: [PATCH] End of Project cfgs for system install and public repos

---
 .../o/OTF2/OTF2-deepsea-v1-GCCcore-11.3.0.eb  | 48 ++++++++++++++
 .../Scalasca-deepsea-v2-gpsmpi-2022a-pmix.eb  | 65 ++++++++++++++++++
 .../Score-P-deepsea-v2-gpsmpi-2022a-pmix.eb   | 66 +++++++++++++++++++
 3 files changed, 179 insertions(+)
 create mode 100644 Golden_Repo/o/OTF2/OTF2-deepsea-v1-GCCcore-11.3.0.eb
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-deepsea-v2-gpsmpi-2022a-pmix.eb
 create mode 100644 Golden_Repo/s/Score-P/Score-P-deepsea-v2-gpsmpi-2022a-pmix.eb

diff --git a/Golden_Repo/o/OTF2/OTF2-deepsea-v1-GCCcore-11.3.0.eb b/Golden_Repo/o/OTF2/OTF2-deepsea-v1-GCCcore-11.3.0.eb
new file mode 100644
index 000000000..06c3d5ae4
--- /dev/null
+++ b/Golden_Repo/o/OTF2/OTF2-deepsea-v1-GCCcore-11.3.0.eb
@@ -0,0 +1,48 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2022 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 = 'OTF2'
+version = 'deepsea-v1'
+
+homepage = 'https://www.score-p.org'
+description = """
+The Open Trace Format 2 is a highly scalable, memory efficient event trace
+data format plus support library. It is the new standard trace format for
+Scalasca, Vampir, and TAU and is open for other tools.
+"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/project/deep-sea']
+sources = ['otf2-deepsea-v1.tar.gz']
+checksums = [
+    'df7fd5e82e204af6777268fa15e189d5cc2a962eaed49a68b1d7ab00fcff073b',  # otf2-deepsea-v1.tar.gz
+]
+
+builddependencies = [
+    # use same binutils version that was used when building GCCcore
+    ('binutils', '2.38'),
+    # SIONlib container support (optional):
+    ('SIONlib', '1.7.7', '-tools'),
+]
+
+configopts = '--enable-shared'
+
+sanity_check_paths = {
+    'files': ['bin/otf2-config', 'include/otf2/otf2.h',
+              ('lib/libotf2.%s' % SHLIB_EXT, 'lib64/libotf2.%s' % SHLIB_EXT)],
+    'dirs': [],
+}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/s/Scalasca/Scalasca-deepsea-v2-gpsmpi-2022a-pmix.eb b/Golden_Repo/s/Scalasca/Scalasca-deepsea-v2-gpsmpi-2022a-pmix.eb
new file mode 100644
index 000000000..46499564f
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-deepsea-v2-gpsmpi-2022a-pmix.eb
@@ -0,0 +1,65 @@
+##
+# 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 = 'deepsea-v2'
+
+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://apps.fz-juelich.de/scalasca/project/deep-sea']
+sources = ['scalasca-deepsea-v1.tar.gz']
+# v2 config needed due to changed dependencies, no changes to the v1 tarball
+checksums = [
+    '2c7ff194ee5c59b2213f0a7fe6e5f005eb15f4e16e9abad63a6cc648d8c3394c',  # scalasca-deepsea-v1.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.8.2'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.8.2'),
+    ('CubeLib', '4.8.2'),
+    ('OTF2', 'deepsea-v1'),
+    ('Score-P', 'deepsea-v2'),
+]
+
+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'
diff --git a/Golden_Repo/s/Score-P/Score-P-deepsea-v2-gpsmpi-2022a-pmix.eb b/Golden_Repo/s/Score-P/Score-P-deepsea-v2-gpsmpi-2022a-pmix.eb
new file mode 100644
index 000000000..a91e8d1dd
--- /dev/null
+++ b/Golden_Repo/s/Score-P/Score-P-deepsea-v2-gpsmpi-2022a-pmix.eb
@@ -0,0 +1,66 @@
+##
+# 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 = 'deepsea-v2'
+
+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://apps.fz-juelich.de/scalasca/project/deep-sea']
+sources = ['scorep-deepsea-v2.tar.gz']
+checksums = [
+    'dc2ea9a23b5a3df7be8472514a6e900ebaa66be256ac58a129bf108f2fde3ee0',  # scorep-deepsea-v2.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', 'deepsea-v1'),
+    # 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.%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'
-- 
GitLab