`systems/riken-dgx/system.py` の `compute_packages_section()` は、nvhpc 同梱の hpcx openmpi を external として宣言する。続いて `cuda_config()` が openmpi を buildable として再宣言するため、後者が有効となり、external は結果として 用いられない。 その buildable な openmpi には `+cuda` が付与されている。これにより `^cuda` が 全依存の DAG に入り、spack の `CachedCMakePackage.initconfig_hardware_entries` が `cuda_arch` variant を持たないパッケージでその variant を参照する。 ==> caliper: Executing phase: 'initconfig' ==> Error: KeyError: 'cuda_arch' caliper 自体は `~cuda` で concretize され、openmpi を経由して `^cuda` を 参照しているのみである。 `cuda_arch` の値(90 → 100 → 121)は本件とは別の問題であり、121 は GB10 に 対して正しい。問題は `^cuda` が DAG に入ること自体である。 対応案: 表現方法の選択を含むため、方針の判断を要すると考える。同一システムで openmpi が二度宣言されている点についても整理が望ましい。
Activity