From aea390d70213fc46e275b2328d7b32bfb3df3de6 Mon Sep 17 00:00:00 2001
From: Jayesh Badwaik <j.badwaik@fz-juelich.de>
Date: Thu, 10 Oct 2024 09:16:52 +0200
Subject: [PATCH] + add booster example

---
 .gitlab-ci.yml          | 30 +++++++++++++++++++++++++++++-
 preprocess/generator.py |  8 ++++----
 simple.yml              | 23 ++++++++++++++++-------
 3 files changed, 49 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6f4cf9c..25757cf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,20 @@ include:
   - component: gitlab.jsc.fz-juelich.de/exacb/catalog/jureap/jube@v3dev
     rules:
       - when: always
+    inputs:
+      prefix: "booster.single"
+      variant: "single"
+      machine: "juwels_booster"
+      queue: "dc-cpu"
+      project: "cexalab"
+      budget: "exalab"
+      is_public: "all"
+      jube_file: "simple.yml"
+      fixture: .setup
+      record: "true"
+  - component: gitlab.jsc.fz-juelich.de/exacb/catalog/jureap/jube@v3dev
+    rules:
+      - when: never
     inputs:
       prefix: "jureca.single"
       variant: "single"
@@ -30,7 +44,7 @@ include:
       record: "true"
   - component: gitlab.jsc.fz-juelich.de/exacb/catalog/jureap/jube@v3dev
     rules:
-      - when: always
+      - when: never
     inputs:
       prefix: "jureca.strong.tiny"
       variant: "strong.tiny"
@@ -42,6 +56,20 @@ include:
       jube_file: "simple.yml"
       fixture: .setup
       record: "true"
+  - component: gitlab.jsc.fz-juelich.de/exacb/catalog/jureap/jube@v3dev
+    rules:
+      - when: always
+    inputs:
+      prefix: "booster.strong.tiny"
+      variant: "strong.tiny"
+      machine: "juwels_booster"
+      queue: "booster"
+      project: "cexalab"
+      budget: "exalab"
+      is_public: "all"
+      jube_file: "simple.yml"
+      fixture: .setup
+      record: "true"
   - component: gitlab.jsc.fz-juelich.de/exacb/catalog/jureap/jube@v3dev
     rules:
       - when: always
diff --git a/preprocess/generator.py b/preprocess/generator.py
index 5648b83..2e8375d 100644
--- a/preprocess/generator.py
+++ b/preprocess/generator.py
@@ -2,6 +2,7 @@
 
 import argparse
 
+
 def parser():
     parser = argparse.ArgumentParser(description="Preprocessor")
     parser.add_argument("--machine", type=str, help="Machine Name")
@@ -14,10 +15,9 @@ if __name__ == "__main__":
     with open(args.output, "w") as f:
         if args.machine == "jurecadc":
             f.write("12")
-        elif args.machine == "jedi": 
+        elif args.machine == "jedi":
             f.write("24")
+        elif args.machine == "juwelsbooster":
+            f.write("48")
         else:
             raise ValueError("Unknown machine")
-        
-            
-    
\ No newline at end of file
diff --git a/simple.yml b/simple.yml
index d737b6b..e2e80f3 100644
--- a/simple.yml
+++ b/simple.yml
@@ -34,6 +34,9 @@ parameterset:
       - name: bench_variant
         tag: strong.tiny
         _: "strong.tiny"
+      - name: input_value_juwelsbooster
+        separator: none
+        _: '{"2024.12" : "1", "2024.01" : 2}'
       - name: input_value_jurecadc
         separator: none
         _: '{"2024.12" : "1", "2024.01" : 2}'
@@ -42,7 +45,10 @@ parameterset:
         _: '{"2024.12" : "3", "2024.01" : 4}'
       - name: input_value
         mode: python
-        _: '{ "jurecadc" : ${input_value_jurecadc} , "jedi" : ${input_value_jedi} }["${system_name}"]["${system_version}"]'
+        _: '{
+          "juwelsbooster" : ${input_value_juwelsbooster} ,
+          "jurecadc" : ${input_value_jurecadc} ,
+          "jedi" : ${input_value_jedi} }["${system_name}"]["${system_version}"]'
   - name: systemParam
     init_with: "platform.xml:systemParameter"
     parameter:
@@ -50,18 +56,21 @@ parameterset:
         tag: single
         type: int
         mode: python
-        _: '{ "jurecadc" : "2" , "jedi" : "1" }["${system_name}"]'
+        _: '{ "juwelsbooster": 2, "jurecadc" : "2" , "jedi" : "1" }["${system_name}"]'
       - name: nodes
         tag: strong.tiny
         type: int
         mode: python
-        _: '{ "jurecadc" : "1,2,4" , "jedi" : "1,2,4" }["${system_name}"]'
+        _: '{ "juwelsbooster": "1,2,4", "jurecadc" : "1,2,4" , "jedi" : "1,2,4" }["${system_name}"]'
       - name: queue
         mode: python
-        _: '{ "jurecadc" : "dc-cpu", "jedi" : "all" }["${system_name}"]'
+        _: '{ "juwelsbooster": "booster", "jurecadc" : "dc-cpu", "jedi" : "all" }["${system_name}"]'
       - name: preprocess
         mode: python
-        _: '{ "jurecadc" : "module load GCC Python OpenMPI mpi4py", "jedi" : "module load GCC Python OpenMPI mpi4py" }["${system_name}"]'
+        _: '{
+              "juwelsbooster":  "module load GCC Python OpenMPI mpi4py",
+              "jurecadc" : "module load GCC Python OpenMPI mpi4py",
+              "jedi" : "module load GCC Python OpenMPI mpi4py" }["${system_name}"]'
       - name: executable
         _: "python"
       - name: args_exec
@@ -77,7 +86,7 @@ step:
       - python preprocess/generator.py --machine ${system_name} --output genparam
   - name: execute
     depend: codegen
-    use: 
+    use:
       - benchParam
       - systemInfo
       - systemParam
@@ -121,7 +130,7 @@ analyser:
           _: run.jobid
         - use: success_pattern
           _: success
-    
+
 result:
   use:
     - bench_info
-- 
GitLab