Skip to content

Commit 54dd4a1

Browse files
authored
Merge pull request #687 from boegel/better_software_overview
pick up on GPU info for software overview page
2 parents 2c6573e + f6fdb49 commit 54dd4a1

3 files changed

Lines changed: 21 additions & 9 deletions

File tree

.github/workflows/test_overview_available_software.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,5 @@ jobs:
2525
. venv/bin/activate
2626
pip install -r mkdocs-ldjson-plugin/requirements.txt
2727
28-
python .github/workflows/scripts/test_overview_available_software.py
28+
# disabled, this needs to be re-worked after the changes implemented in https://github.com/EESSI/docs/pull/677
29+
# python .github/workflows/scripts/test_overview_available_software.py

docs/available_software/index.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ Overview of software available in [EESSI's production repository `software.eessi
77

88
<em>{{ data.n_software }} unique software projects (+ {{ data.n_extensions }} unique extensions)</em>
99

10-
!!! warning "Details on GPU installations not included yet"
11-
12-
The overview currently doesn't expose information about GPU installations of software yet.
13-
14-
This will be resolved soon.
15-
1610
<!-- see also docs/available_software/javascripts/software-filter.js -->
1711
<input type="search" id="software-search" class="md-input"
1812
placeholder="Filter software..."

docs/available_software/macros.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
'aarch64': ['Arm'],
1616
'riscv64': ['RISC-V'],
1717
}
18+
GPU_ARCHS = {
19+
'amd': 'AMD',
20+
'accel/amd': 'AMD',
21+
'nvidia': 'NVIDIA',
22+
'accel/nvidia': 'NVIDIA',
23+
}
1824

1925

2026
def define_env(env):
@@ -53,7 +59,18 @@ def load_json_eessi_software():
5359
licenses = ', '.join(y for x in versions for y in x['license'])
5460

5561
# determine set of supported CPU families (first part of CPU target names, like x86_64 or aarch64)
56-
cpu_families = set(c for v in versions for x in v['cpu_arch'] for c in CPU_ARCHS[x.split('/')[0]])
62+
cpu_families = set()
63+
for version in versions:
64+
for cpu_arch in version['cpu_arch']:
65+
cpu_family = cpu_arch.split('/')[0]
66+
cpu_families.union(CPU_ARCHS.get(cpu_family, cpu_family))
67+
68+
# determine set of supported GPU families
69+
gpu_families = set()
70+
for version in versions:
71+
for gpu_arch in [y for x in version['gpu_arch'].values() for y in x]:
72+
gpu_family = '/'.join(gpu_arch.split('/')[:-1])
73+
gpu_families.add(GPU_ARCHS.get(gpu_family, gpu_family))
5774

5875
# EESSI versions in which this software is available
5976
eessi_versions = set()
@@ -65,7 +82,7 @@ def load_json_eessi_software():
6582
'n_versions': len(versions),
6683
'licenses': licenses,
6784
'cpu_families': ', '.join(x for x in sorted(cpu_families)),
68-
'gpu_families': '',
85+
'gpu_families': ', '.join(x for x in sorted(gpu_families)),
6986
'is_extension': False,
7087
}
7188

0 commit comments

Comments
 (0)