Skip to content

Conversation

@bmhan12
Copy link
Contributor

@bmhan12 bmhan12 commented Jan 12, 2026

This PR:

  • Updates Spack to 1.1
  • Updates the RAJA suite of packages to v2025.12.x
    • Updates Docker images

TODO:

@bmhan12 bmhan12 added TPL Issues related to Axom's third party libraries Testing Issues related to testing Axom Build system Issues related to Axom's build system labels Jan 12, 2026
hip_link_flags = ""

rocm_root = os.path.dirname(spec["llvm-amdgpu"].prefix)
rocm_root = spec["llvm-amdgpu"].prefix
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and in toss_4_x86_64_ib_cray/spack.yaml, I incorporated changes from @adrienbernede 's PR #1739 to get things working with Spack 1.1 .

Comment on lines 9 to 12
+// Include OpenMP header for Windows
+#if defined(_OPENMP)
+#include <omp.h>
+#endif
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This patch file is part of my attempt to get raja v25.12.0 working with Windows.

Following error without this patch:

D:\a\axom\axom\uberenv_libs\vcpkg\buildtrees\raja\src\v2025.12.0-beae201c76.clean\include\RAJA/policy/openmp/thread.hpp(35): error C3861: 'omp_get_max_threads': identifier not found
D:\a\axom\axom\uberenv_libs\vcpkg\buildtrees\raja\src\v2025.12.0-beae201c76.clean\include\RAJA/policy/openmp/thread.hpp(41): error C3861: 'omp_get_thread_num': identifier not found

@bmhan12 bmhan12 force-pushed the feature/han12/spack_12_25 branch 2 times, most recently from b1ced68 to 2b540e7 Compare January 12, 2026 23:08
@bmhan12
Copy link
Contributor Author

bmhan12 commented Jan 13, 2026

Additional context from testing:

On Windows, I've tried building RAJA v2025.12.0 and v2025.09.1 (current version is v2025.09.0), both fail during compilation of Axom with the errors:

D:\a\axom\axom\uberenv_libs\vcpkg\installed\x64-windows\include\RAJA\policy\openmp\forall.hpp(93,5): error C3001: 'declare': expected an OpenMP directive name...
D:\a\axom\axom\uberenv_libs\vcpkg\installed\x64-windows\include\RAJA\policy\openmp\forall.hpp(98,27): error C3036: 'combine': invalid operator token in OpenMP 'reduction' clause...

EDIT: Between v2025.09.0 and v2025.09.1, this seems to be the most relevant PR to openmp changes? llnl/RAJA#1884

@bmhan12 bmhan12 force-pushed the feature/han12/spack_12_25 branch 2 times, most recently from 2e8ff18 to 6c57b7f Compare January 13, 2026 16:50
@rhornung67
Copy link
Member

@bmhan12 to be clear: it works with RAJA 2025.09.0 and breaks with RAJA 2025.09.1 and newer?

@bmhan12
Copy link
Contributor Author

bmhan12 commented Jan 13, 2026

@bmhan12 to be clear: it works with RAJA 2025.09.0 and breaks with RAJA 2025.09.1 and newer?

Yes.

@rhornung67
Copy link
Member

@bmhan12 to be clear: it works with RAJA 2025.09.0 and breaks with RAJA 2025.09.1 and newer?

Yes.

Thank you. I've got John looking into it. His RAJA PR seems to be the cause of the breakage.

@bmhan12 bmhan12 force-pushed the feature/han12/spack_12_25 branch 4 times, most recently from 9f2f2dc to ea0f6f7 Compare January 16, 2026 15:48
@bmhan12 bmhan12 force-pushed the feature/han12/spack_12_25 branch 4 times, most recently from 6358442 to a2c6564 Compare January 21, 2026 16:02
@bmhan12 bmhan12 marked this pull request as ready for review January 21, 2026 22:38
"conduit",
"lua",
"mfem",
"openmp",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After talking with @kennyweiss, I decided we can disable OpenMP on Windows for now, and can enable it again at a later date.

It was also mentioned that Umpire is actually disabled in our Windows testing, I left a comment in this file to track these changes.

Tag: @johnbowen42

umpire:
require:
- spec: "@2025.09.0"
- spec: "@git.0372fbd6e1f17d7e6dd72693f8b857f3ec7559e9=develop"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why use the commit here compared to the version tag ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2025.12.0 isn't in upstream spack yet, so I went with the commit hash.

buildable: false
externals:
- spec: mvapich2@2.3.7.clang_19~alloca~cuda~debug~hwloc_graphics~hwlocv2+regcache+wrapperrpath build_system=autotools ch3_rank_bits=32 fabrics=mrail file_systems=auto process_managers=slurm threads=multiple
- spec: mvapich2@2.3.7.clang_19~alloca~cuda~debug~hwloc_graphics~hwlocv2+regcache+wrapperrpath ch3_rank_bits=32 fabrics=mrail file_systems=auto process_managers=slurm threads=multiple
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious how you verify those variants for external installs. Are they provided by the spack external detection tool ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that is where I originally got all these variants, using spack to detect them.
Turns out this is probably not the best idea, since the packages and detection can change between Spack versions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You actually don't need all the variants anymore. It was needed when you couldn't specify which mvapich you needed per compiler before toolchains. Basically we were forcing the concretizer to select the right one. You can do this now:

https://github.com/llnl/smith/blob/c00589ac9cb73deb2fe4d810f3f98b63aa2948e6/scripts/spack/configs/toss_4_x86_64_ib/spack.yaml#L94-L100

https://github.com/llnl/smith/blob/c00589ac9cb73deb2fe4d810f3f98b63aa2948e6/scripts/spack/configs/toss_4_x86_64_ib/spack.yaml#L28-L29

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@white238 so is just the version sufficient now for externals?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, as long as you specify it in the toolchain

Copy link
Member

@rhornung67 rhornung67 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working through this stuff @bmhan12 LGTM!

@bmhan12 bmhan12 force-pushed the feature/han12/spack_12_25 branch from c85da13 to 9b928ef Compare January 23, 2026 16:38
@bmhan12 bmhan12 merged commit e498417 into develop Jan 23, 2026
15 checks passed
@bmhan12 bmhan12 deleted the feature/han12/spack_12_25 branch January 23, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build system Issues related to Axom's build system Testing Issues related to testing Axom TPL Issues related to Axom's third party libraries

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants