Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
54f4fa3
add ordering of targets to available software script
May 2, 2025
2e12ae5
fix tests for adding ordered targets
May 2, 2025
9f56640
add __pycache__ to gitignore
laraPPr May 2, 2025
d39c0fa
implement new order in overview.md
laraPPr May 2, 2025
65af95a
make linter happy
laraPPr May 2, 2025
6af5363
add scrollbar
laraPPr May 2, 2025
8abbb55
remove names of columns
laraPPr May 2, 2025
f999104
add workflow for checking the overview.md page of available software
laraPPr May 2, 2025
df848e1
change name of workflow
laraPPr May 2, 2025
4aa8a6d
change action so that it will run for all not just prs with EESSI as …
laraPPr May 2, 2025
6fb1c32
fix indentation in yml file
laraPPr May 2, 2025
2d7e3eb
test new workflow
laraPPr May 2, 2025
b40475c
fix github workflow parsing error
laraPPr May 2, 2025
0f89928
fix test_overview_available_software.py script
laraPPr May 2, 2025
e4ef4d1
add comparison definition to sort targets
laraPPr May 7, 2025
86fdced
fix failing available software test
laraPPr May 7, 2025
9b70e50
remove trailing whitespace
laraPPr May 7, 2025
ff35d0c
fix failing test
laraPPr May 7, 2025
f2282ef
remove trailing whitespace
laraPPr May 7, 2025
1e22b47
remove trailing whitespace
laraPPr May 7, 2025
aa60709
fix test
laraPPr May 7, 2025
1dc05c6
set correct table hierarchy in overview.md
laraPPr May 7, 2025
d5cdce9
set correct table hierarchy in overview.md
laraPPr May 7, 2025
19769c4
spellcheck
laraPPr May 7, 2025
bdfee65
expand docstring
laraPPr May 14, 2025
e246c06
Make linter happy
Neves-P May 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
site/
venv*
scripts/available_software/__pycache__
scripts/available_software/tests/__pycache__

3 changes: 2 additions & 1 deletion docs/available_software/javascripts/populate_overview.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ function populate_overview(json_data) {
targets: "_all",
className: 'dt-body-center'
}
]
],
scrollX: true,
});
console.log(table)

Expand Down
10 changes: 5 additions & 5 deletions docs/available_software/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ This table gives an overview of all the available software in EESSI per specific
<thead>
<tr>
<th rowspan="3">Name</th>
<th colspan="3">aarch64</th>
<th colspan="7">x86_64</th>
<th colspan="3">aarch64</th>
</tr>
</tr>
<th colspan="3"></th>
<th colspan="1"></th>
<th colspan="3">amd</th>
<th colspan="3">intel</th>
<th colspan="3"></th>
</tr>
<tr>
<th colspan="1">generic</th>
<th colspan="1">neoverse_n1</th>
<th colspan="1">neoverse_v1</th>
<th colspan="1">generic</th>
<th colspan="1">zen2</th>
<th colspan="1">zen3</th>
<th colspan="1">zen4</th>
<th colspan="1">haswell</th>
<th colspan="1">skylake_avx512</th>
<th colspan="1">sapphirerapids</th>
<th colspan="1">generic</th>
<th colspan="1">neoverse_n1</th>
<th colspan="1">neoverse_v1</th>
</tr>
</thead>
</table>
28 changes: 27 additions & 1 deletion scripts/available_software/available_software.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,33 @@ def modules_eessi() -> dict:
if modulepath:
module_unuse(modulepath)

targets = [t for t in targets_eessi() if not any(t.endswith(x) for x in EXCLUDE_CPU_TARGETS)]
targets = targets_eessi()

# Order targets
generic_target_x86_64 = []
generic_target_aarch64 = []
targets_x86_64 = []
targets_aarch64 = []
for target in targets:
t = target.split('/')
if t[7] == 'aarch64':
if t[-1] == "generic":
generic_target_aarch64.append(target)
else:
targets_aarch64.append(target)
elif t[7] == 'x86_64':
if t[-1] == "generic":
generic_target_x86_64.append(target)
else:
targets_x86_64.append(target)
ordered_targets = []
ordered_targets.extend(generic_target_x86_64)
ordered_targets.extend(np.sort(targets_x86_64))
ordered_targets.extend(generic_target_aarch64)
ordered_targets.extend(np.sort(targets_aarch64))

targets = [t for t in ordered_targets if not any(t.endswith(x) for x in EXCLUDE_CPU_TARGETS)]

for target in targets:
print(f"\t Collecting available modules for {target}... ", end="", flush=True)
module_use(target + "/modules/all/")
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"time_generated":"dummy", "targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "modules": {"Markov": [1, 0], "cfd": [1, 1], "llm": [0, 1], "science": [1, 1]}}
{"time_generated":"dummy", "targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "modules": {"Markov": [0, 1], "cfd": [1, 1], "llm": [1, 0], "science": [1, 1]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "software": {"cfd": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "versions": {"cfd/1.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "cfd/2.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "cfd/24": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "cfd/5.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "cfd/2.0afqsdf": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "cfd/3.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}}}, "Markov": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "versions": {"Markov/hidden-1.0.5": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "Markov/hidden-1.0.10": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}}}, "science": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "versions": {"science/5.3.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}, "science/7.2.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}}}, "llm": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "versions": {"llm/20230627": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}}}}, "time_generated": "Thu, 31 Aug 2023 at 14:00:22 CEST"}
{"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "software": {"cfd": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "versions": {"cfd/1.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "cfd/2.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "cfd/24": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "cfd/5.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "cfd/2.0afqsdf": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "cfd/3.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}}}, "Markov": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "versions": {"Markov/hidden-1.0.5": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "Markov/hidden-1.0.10": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}}}, "science": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"], "versions": {"science/5.3.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}, "science/7.2.0": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2", "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"]}}}, "llm": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"], "versions": {"llm/20230627": {"targets": ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"]}}}}, "time_generated": "Thu, 31 Aug 2023 at 14:00:22 CEST"}
6 changes: 3 additions & 3 deletions scripts/available_software/tests/data/test_md_simple_sol.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
Overview Modules
================

| |/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic|/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2|
| |/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2|/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic|
| :---: | :---: | :---: |
|Markov|X| |
|Markov| |X|
|cfd|X|X|
|llm| |X|
|llm|X| |
|science|X|X|
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ module load science/7.2.0

*(This data was automatically generated on {{ generated_date }})*

| |aarch64/generic|x86_64/amd/zen2|
| |x86_64/amd/zen2|aarch64/generic|
| :---: | :---: | :---: |
|science/7.2.0|x|x|
|science/5.3.0|x|x|
8 changes: 4 additions & 4 deletions scripts/available_software/tests/test_json.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import os
import json

GENERIC = "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"
GENERIC_ARM = "/cvmfs/software.eessi.io/versions/2023.06/software/linux/aarch64/generic"
ZEN2 = "/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2"


Expand Down Expand Up @@ -39,11 +39,11 @@ def test_json_generate_simple(self):
modules = modules_eessi()
json_data = generate_json_overview_data(modules)
assert len(json_data.keys()) == 3
assert list(json_data["targets"]) == [GENERIC, ZEN2]
assert list(json_data["targets"]) == [ZEN2, GENERIC_ARM]
assert json_data["modules"] == {
"Markov": [1, 0],
"Markov": [0, 1],
"cfd": [1, 1],
"llm": [0, 1],
"llm": [1, 0],
"science": [1, 1]
}

Expand Down
Loading