From 5fb0c8d36a73918932f358cc0d839a05b8352890 Mon Sep 17 00:00:00 2001
From: Christian Feld <c.feld@fz-juelich.de>
Date: Thu, 2 Dec 2021 15:42:27 +0100
Subject: [PATCH] Provide Scalasca/2.6, NVHPC toolchains missing

---
 .../s/Scalasca/Scalasca-2.6-gompi-2021b.eb    | 53 ++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb   | 53 ++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-iimpi-2021b.eb    | 53 ++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-iompi-2021b.eb    | 53 ++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb   | 53 ++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb   | 56 +++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-iimpi-2021b.eb    | 56 +++++++++++++++++++
 .../s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb   | 56 +++++++++++++++++++
 8 files changed, 433 insertions(+)
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-2.6-gompi-2021b.eb
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-2.6-iompi-2021b.eb
 create mode 100644 Golden_Repo/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb
 create mode 100644 Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
 create mode 100644 Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
 create mode 100644 Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb

diff --git a/Golden_Repo/s/Scalasca/Scalasca-2.6-gompi-2021b.eb b/Golden_Repo/s/Scalasca/Scalasca-2.6-gompi-2021b.eb
new file mode 100644
index 000000000..cd639d11f
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-2.6-gompi-2021b.eb
@@ -0,0 +1,53 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'gompi', 'version': '2021b'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.6'),
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb b/Golden_Repo/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
new file mode 100644
index 000000000..9ba5462f9
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
@@ -0,0 +1,53 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': '2021b'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.6'),
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb b/Golden_Repo/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
new file mode 100644
index 000000000..d0be01453
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
@@ -0,0 +1,53 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'iimpi', 'version': '2021b'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.6'),
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/s/Scalasca/Scalasca-2.6-iompi-2021b.eb b/Golden_Repo/s/Scalasca/Scalasca-2.6-iompi-2021b.eb
new file mode 100644
index 000000000..b1468bdad
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-2.6-iompi-2021b.eb
@@ -0,0 +1,53 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'iompi', 'version': '2021b'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.6'),
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb b/Golden_Repo/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb
new file mode 100644
index 000000000..cacbe0bc4
--- /dev/null
+++ b/Golden_Repo/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb
@@ -0,0 +1,53 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'ipsmpi', 'version': '2021b'}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeGUI', '4.6'),
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
new file mode 100644
index 000000000..b84a5deeb
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-gpsmpi-2021b.eb
@@ -0,0 +1,56 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': '2021b'}
+# Building with architectural optimizations on the KNL booster prevents
+# using the frontend tools on the frontend, and thus cross-compilation.
+# But Score-P/Scalasca does not benefit much from vectorization anyway.
+toolchainopts = {'optarch': False}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
new file mode 100644
index 000000000..5d1857c81
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-iimpi-2021b.eb
@@ -0,0 +1,56 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'iimpi', 'version': '2021b'}
+# Building with architectural optimizations on the KNL booster prevents
+# using the frontend tools on the frontend, and thus cross-compilation.
+# But Score-P/Scalasca does not benefit much from vectorization anyway.
+toolchainopts = {'optarch': False}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
diff --git a/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb
new file mode 100644
index 000000000..3a8a8abe5
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/s/Scalasca/Scalasca-2.6-ipsmpi-2021b.eb
@@ -0,0 +1,56 @@
+##
+# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
+# Copyright:: Copyright 2013-2021 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 = '2.6'
+
+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': 'ipsmpi', 'version': '2021b'}
+# Building with architectural optimizations on the KNL booster prevents
+# using the frontend tools on the frontend, and thus cross-compilation.
+# But Score-P/Scalasca does not benefit much from vectorization anyway.
+toolchainopts = {'optarch': False}
+
+source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = [
+    'b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e',  # scalasca-2.6.tar.gz
+]
+builddependencies = [
+    ('CubeWriter', '4.6'),
+]
+
+dependencies = [
+    ('CubeLib', '4.6'),
+    ('OTF2', '2.3'),
+    ('Score-P', '7.1'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
+    'dirs': [],
+}
+
+# Ensure that local metric documentation is found by CubeGUI
+modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
+
+moduleclass = 'perf'
-- 
GitLab