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
2026def 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