From 0c3ea62cf721fe30d153ce2d0b0c5ed0458161d3 Mon Sep 17 00:00:00 2001
From: bscuser <ipiedrahiv@eafit.edu.co>
Date: Thu, 25 Jan 2024 16:41:00 +0100
Subject: [PATCH] Build recipes for Ompss2Cluster and components

- ompss2cluster: Bundle
- Nanos6: Runtime
- Mcxx: Compiler
---
 .../mcxxcluster-1.0-gpsmpi-2022a-mt.eb        | 52 +++++++++++++++++++
 .../nanoscluster-1.0-gpsmpi-2022a-mt.eb       | 49 +++++++++++++++++
 .../ompss2cluster-2023.11-gpsmpi-2022a.eb     | 14 +++++
 3 files changed, 115 insertions(+)
 create mode 100644 Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb
 create mode 100644 Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb
 create mode 100644 Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a.eb

diff --git a/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb b/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb
new file mode 100644
index 00000000..5acbf337
--- /dev/null
+++ b/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb
@@ -0,0 +1,52 @@
+easyblock = 'ConfigureMake'
+
+name = 'mcxxcluster'
+version = '1.0'
+local_filename_version = '1.0'
+
+homepage = 'https://github.com/bsc-pm/ompss-2-cluster-releases.git'
+description = "OmpSs-2@Cluster: OmpSs-2 with task offloading"
+
+toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'}
+
+sources = [{
+    'filename': 'mcxx.tar.gz',
+    'git_config': {
+        'url': 'https://github.com/ipiedrahiv',
+                'repo_name': 'mcxx',
+                'tag': '1.0-ci'
+    },
+}]
+checksums = ['2e6ae57a86a417f17c53848b47adb8e6c71cf2638b6d8372cc75ba9e52fd95af']
+
+builddependencies = [
+    ('Autotools', '20220317'),
+    ('pkgconf', '1.8.0'),
+    ('Bison', '3.8.2'),
+    ('flex', '2.6.4'),
+    ('gperf', '3.1')
+]
+
+dependencies = [
+    ('nanoscluster', '1.0', '', ('gpsmpi', '2022a-mt')),
+    ('SQLite', '3.38.3')
+]
+
+preconfigopts = "autoreconf -vif && "
+
+configopts = "--enable-ompss-2 --with-nanos6=$NANOS6_HOME"
+#configopts = "--enable-ompss-2 --with-nanos6=/p/scratch/deepsea/piedrahta-velez1/easybuild/deep/software/nanoscluster/1.0-gpsmpi-2022a"
+
+buildopts = 'CC="$CC" CFLAGS="$CFLAGS"'
+
+sanity_check_paths = {
+    'files': ['bin/mcc', 'bin/mcxx', 'bin/mf95', 'bin/mfc',
+              'lib/libmcxx.so', 'lib/mcxx/libtlnanos6-lowering.so'],
+    'dirs': [],
+}
+
+sanity_check_commands = [
+    'mcc 2>&1 | grep "mcc: you must specify an input file"',
+]
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb b/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb
new file mode 100644
index 00000000..be86c4a9
--- /dev/null
+++ b/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb
@@ -0,0 +1,49 @@
+# EasyConfig for OmpSs-2/git
+easyblock = 'ConfigureMake'
+name = 'nanoscluster'
+version = '1.0'
+local_filename_version = '1.0'
+
+homepage = 'https://github.com/bsc-pm/nanos6-cluster'
+description = 'Nanos6 Runtime for OmpSs2@cluster'
+
+toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'}
+
+sources = [{
+    'filename': 'nanos6.tar.gz',
+    'git_config': {
+        'url': 'https://github.com/ipiedrahiv',
+        'repo_name': 'nanos6-cluster',
+        'tag': '1.0-ci',
+        # 'clone_into': 'nanos6-cluster'
+    }
+}]
+checksums = ['d816d14127234cefec01eaded8cc00ce6606e8513fab65543e6ced76b9111342']
+
+dependencies = [('Boost', '1.79.0'),
+                ('hwloc', '2.7.1'),
+                ('numactl', '2.0.15')]
+
+builddependencies = [('Autotools', '20220317'),
+                     ('pkgconf', '1.8.0')]
+
+preconfigopts = "autoreconf -vif && "
+
+configopts = "--enable-cluster --disable-ctf-instrumentation --disable-graph-instrumentation --disable-lint-instrumentation --disable-verbose-instrumentation"
+
+modextravars = {'NANOS6_HOME': '%(installdir)s'}
+
+buildopts = 'CC="$CC" CFLAGS="$CFLAGS"'
+
+sanity_check_paths = {
+    'files': ['bin/nanos6-info', 'include/nanos6.h',
+              'lib/libnanos6-optimized-regions.so',
+              'lib/libnanos6-debug-regions.so'],
+    'dirs': ['include/nanos6'],
+}
+
+sanity_check_commands = [
+    'nanos6-info | grep "Nanos6 version 2.5.1"',
+]
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a.eb b/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a.eb
new file mode 100644
index 00000000..5e14f7be
--- /dev/null
+++ b/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a.eb
@@ -0,0 +1,14 @@
+# EasyConfig for OmpSs-2
+easyblock = 'Bundle'
+name = 'ompss2cluster'
+version = '2023.11'
+
+homepage = 'https://github.com/bsc-pm/nanos6-cluster'
+description = 'OmpSs2@Cluster'
+
+toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'}
+
+dependencies = [
+    ('nanoscluster', '1.0'),
+    ('mcxxcluster', '1.0')
+]
-- 
GitLab