Axom local Spack package #1726
Replies: 1 comment 2 replies
-
For context, A cleaner and simpler way is to define the fortran flag at the toolchain level, instead of how it's done currently with the flags tied to the The "Remove unusable..." hack snippet can be removed with the above change. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I would like to update the Axom spack package in https://github.com/spack/spack-packages.
While comparing the local axom package to the upstream one and to other radiuss packages, several questions were raised:
ROCm root dir and path
Since spack/spack-packages#1402, the CachedCMakePackage changed in the following way:
Meaning that we now expect
llvm-amdgpuprefix to be set to the rocm root dir, in particular for external installations.This was tested in radiuss-spack-configs without trouble.
The Axom package does not override this setting, but adds
ROCM_ROOT_DIR. Are you OK with:https://github.com/LLNL/axom/blob/cf27b02d7ce6ea7c6a2d865e55b3a5f836b4b773/scripts/spack/packages/axom/package.py#L370
E.g. https://github.com/LLNL/axom/blob/cf27b02d7ce6ea7c6a2d865e55b3a5f836b4b773/scripts/spack/configs/toss_4_x86_64_ib_cray/spack.yaml#L70
Without this change, I think we are going toward problems of divergent expectations regarding the spack configuration files.
llvm-amdgpu rpath
This may already have been discussed, but the local Axom package is setting rpaths specific to certain compilers directly in the spack package. However, there is a mechanism to set this at the compiler definition level. In radiuss-spack-configs, we leverage this to avoid having to repeat the same logic in every package:
It looks like the following logic...
https://github.com/LLNL/axom/blob/cf27b02d7ce6ea7c6a2d865e55b3a5f836b4b773/scripts/spack/packages/axom/package.py#L382
...could be replaced by something in the like of:
https://github.com/LLNL/radiuss-spack-configs/blob/d9937d28dd4f321163eb4620da5ff8013a55add2/toss_4_x86_64_ib_cray/packages.yaml#L88
Thoughts?
Mfreeform flag
I also noticed a section of the package to "Remove unusable -Mfreeform flag injected by spack".
At the same time the flag is added in the local spack configs for cray machines:
https://github.com/LLNL/axom/blob/cf27b02d7ce6ea7c6a2d865e55b3a5f836b4b773/scripts/spack/configs/toss_4_x86_64_ib_cray/spack.yaml#L77
Was it added as a test and never removed? Is this still needed?
Beta Was this translation helpful? Give feedback.
All reactions