From 071d5f8eab660c9c3077770d13e3a30dd2c051d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Germ=C3=A1n=20Llort?= <german.llort@bsc.es>
Date: Wed, 2 Aug 2023 15:40:46 +0200
Subject: [PATCH] Adds recipes for Extrae 4.0.6

---
 .../e/Extrae/Extrae-4.0.6-gompi-2022a.eb      | 62 +++++++++++++++++++
 .../e/Extrae/Extrae-4.0.6-gpsmpi-2022a.eb     | 62 +++++++++++++++++++
 .../e/Extrae/Extrae-4.0.6-ipsmpi-2022a.eb     | 62 +++++++++++++++++++
 3 files changed, 186 insertions(+)
 create mode 100644 Golden_Repo/e/Extrae/Extrae-4.0.6-gompi-2022a.eb
 create mode 100644 Golden_Repo/e/Extrae/Extrae-4.0.6-gpsmpi-2022a.eb
 create mode 100644 Golden_Repo/e/Extrae/Extrae-4.0.6-ipsmpi-2022a.eb

diff --git a/Golden_Repo/e/Extrae/Extrae-4.0.6-gompi-2022a.eb b/Golden_Repo/e/Extrae/Extrae-4.0.6-gompi-2022a.eb
new file mode 100644
index 000000000..d439d4ca0
--- /dev/null
+++ b/Golden_Repo/e/Extrae/Extrae-4.0.6-gompi-2022a.eb
@@ -0,0 +1,62 @@
+# Built with EasyBuild version 4.5.1 on 2022-08-09_13-18-13
+# Built with EasyBuild version 4.5.1 on 2022-08-05_17-44-26
+# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild
+# Copyright:: Copyright 2013-2016 Juelich Supercomputing Centre, Germany
+# Authors::   Bernd Mohr <b.mohr@fz-juelich.de>
+# Authors::   Damian Alvarez <d.alvarez@fz-juelich.de>
+# License::   New BSD
+#
+# This work is based from experiences from the UNITE project
+# http://apps.fz-juelich.de/unite/
+##
+
+easyblock = 'ConfigureMake'
+
+name = "Extrae"
+version = "4.0.6"
+
+homepage = 'http://www.bsc.es/computer-sciences/performance-tools'
+description = """Extrae is the core instrumentation package developed by the Performance Tools
+ group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads,
+ CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered
+ by Extrae typically includes timestamped events of runtime calls, performance counters and source
+ code references. Besides, Extrae provides its own API to allow the user to manually instrument his
+ or her application.
+"""
+
+toolchain = {'name': 'gompi', 'version': '2022a'}
+
+sources = [{
+    'source_urls': ['https://ftp.tools.bsc.es/extrae'],
+    'filename': 'extrae-4.0.6-src.tar.bz2'
+}]
+
+checksums = [
+    'b5060336cac57f1345faa09009b1940edf1e6991aae05cc10d0b714d31360a92',  # extrae-4.0.6-src.tar.bz2
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+]
+
+dependencies = [
+    ('libunwind', '1.6.2'),
+    ('libxml2', '2.9.13'),
+    ('PAPI', '7.0.0'),
+    ('zlib', '1.2.12'),
+    ('CUDA', '11.7', '', SYSTEM)
+]
+
+preconfigopts = 'autoreconf -vif && '
+
+# Without Dyninst and without SIONlib
+configopts = '--enable-posix-clock --enable-openmp --enable-sampling '
+configopts += '--with-binutils=$EBROOTBINUTILS '
+configopts += '--with-mpi=$EBROOTOPENMPI --with-papi=$EBROOTPAPI '
+configopts += '--with-unwind=$EBROOTLIBUNWIND --with-libz=$EBROOTZLIB '
+configopts += '--without-dyninst '
+configopts += '--with-cuda=$EBROOTCUDA --with-cupti=$EBROOTCUDA/extras/CUPTI '
+configopts += '--with-xml=$EBROOTLIBXML2 '
+configopts += 'MPICC=$EBROOTOPENMPI/bin/mpicc'
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/e/Extrae/Extrae-4.0.6-gpsmpi-2022a.eb b/Golden_Repo/e/Extrae/Extrae-4.0.6-gpsmpi-2022a.eb
new file mode 100644
index 000000000..3ff86f764
--- /dev/null
+++ b/Golden_Repo/e/Extrae/Extrae-4.0.6-gpsmpi-2022a.eb
@@ -0,0 +1,62 @@
+# Built with EasyBuild version 4.5.1 on 2022-08-09_13-37-33
+# Built with EasyBuild version 4.5.1 on 2022-08-05_17-12-40
+# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild
+# Copyright:: Copyright 2013-2016 Juelich Supercomputing Centre, Germany
+# Authors::   Bernd Mohr <b.mohr@fz-juelich.de>
+# Authors::   Damian Alvarez <d.alvarez@fz-juelich.de>
+# License::   New BSD
+#
+# This work is based from experiences from the UNITE project
+# http://apps.fz-juelich.de/unite/
+##
+
+easyblock = 'ConfigureMake'
+
+name = "Extrae"
+version = "4.0.6"
+
+homepage = 'http://www.bsc.es/computer-sciences/performance-tools'
+description = """Extrae is the core instrumentation package developed by the Performance Tools
+ group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads,
+ CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered
+ by Extrae typically includes timestamped events of runtime calls, performance counters and source
+ code references. Besides, Extrae provides its own API to allow the user to manually instrument his
+ or her application.
+"""
+
+toolchain = {'name': 'gpsmpi', 'version': '2022a'}
+
+sources = [{
+    'source_urls': ['https://ftp.tools.bsc.es/extrae'],
+    'filename': 'extrae-4.0.6-src.tar.bz2'
+}]
+
+checksums = [
+    'b5060336cac57f1345faa09009b1940edf1e6991aae05cc10d0b714d31360a92',  # extrae-4.0.6-src.tar.bz2
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+]
+
+dependencies = [
+    ('libunwind', '1.6.2'),
+    ('libxml2', '2.9.13'),
+    ('PAPI', '7.0.0'),
+    ('zlib', '1.2.12'),
+    ('CUDA', '11.7', '', SYSTEM)
+]
+
+preconfigopts = 'autoreconf -vif && '
+
+# Without Dyninst and without SIONlib
+configopts = '--enable-posix-clock --enable-openmp --enable-sampling '
+configopts += '--with-binutils=$EBROOTBINUTILS '
+configopts += '--with-mpi=$EBROOTPSMPI --with-papi=$EBROOTPAPI '
+configopts += '--with-unwind=$EBROOTLIBUNWIND --with-libz=$EBROOTZLIB '
+configopts += '--without-dyninst '
+configopts += '--with-cuda=$EBROOTCUDA --with-cupti=$EBROOTCUDA/extras/CUPTI '
+configopts += '--with-xml=$EBROOTLIBXML2 '
+configopts += 'MPICC=$EBROOTPSMPI/bin/mpicc'
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/e/Extrae/Extrae-4.0.6-ipsmpi-2022a.eb b/Golden_Repo/e/Extrae/Extrae-4.0.6-ipsmpi-2022a.eb
new file mode 100644
index 000000000..8c3a48429
--- /dev/null
+++ b/Golden_Repo/e/Extrae/Extrae-4.0.6-ipsmpi-2022a.eb
@@ -0,0 +1,62 @@
+# Built with EasyBuild version 4.5.1 on 2022-08-09_13-48-09
+# Built with EasyBuild version 4.5.1 on 2022-08-05_17-30-00
+# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild
+# Copyright:: Copyright 2013-2016 Juelich Supercomputing Centre, Germany
+# Authors::   Bernd Mohr <b.mohr@fz-juelich.de>
+# Authors::   Damian Alvarez <d.alvarez@fz-juelich.de>
+# License::   New BSD
+#
+# This work is based from experiences from the UNITE project
+# http://apps.fz-juelich.de/unite/
+##
+
+easyblock = 'ConfigureMake'
+
+name = "Extrae"
+version = "4.0.6"
+
+homepage = 'http://www.bsc.es/computer-sciences/performance-tools'
+description = """Extrae is the core instrumentation package developed by the Performance Tools
+ group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads,
+ CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered
+ by Extrae typically includes timestamped events of runtime calls, performance counters and source
+ code references. Besides, Extrae provides its own API to allow the user to manually instrument his
+ or her application.
+"""
+
+toolchain = {'name': 'ipsmpi', 'version': '2022a'}
+
+sources = [{
+    'source_urls': ['https://ftp.tools.bsc.es/extrae'],
+    'filename': 'extrae-4.0.6-src.tar.bz2'
+}]
+
+checksums = [
+    'b5060336cac57f1345faa09009b1940edf1e6991aae05cc10d0b714d31360a92',  # extrae-4.0.6-src.tar.bz2
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+]
+
+dependencies = [
+    ('libunwind', '1.6.2'),
+    ('libxml2', '2.9.13'),
+    ('PAPI', '7.0.0'),
+    ('zlib', '1.2.12'),
+    ('CUDA', '11.7', '', SYSTEM)
+]
+
+preconfigopts = 'autoreconf -vif && '
+
+# Without Dyninst and without SIONlib
+configopts = '--enable-posix-clock --enable-openmp --enable-sampling '
+configopts += '--with-binutils=$EBROOTBINUTILS '
+configopts += '--with-mpi=$EBROOTPSMPI --with-papi=$EBROOTPAPI '
+configopts += '--with-unwind=$EBROOTLIBUNWIND --with-libz=$EBROOTZLIB '
+configopts += '--without-dyninst '
+configopts += '--with-cuda=$EBROOTCUDA --with-cupti=$EBROOTCUDA/extras/CUPTI '
+configopts += '--with-xml=$EBROOTLIBXML2 '
+configopts += 'MPICC=$EBROOTPSMPI/bin/mpicc'
+
+moduleclass = 'perf'
-- 
GitLab