Skip to content

Conversation

@johnbowen42
Copy link
Contributor

Axom found some bugs in RAJA's latest release with two root causes:
#1884
#1947

The first led to MSVC attempting to compile some OpenMP pragmas it didn't understand. The second led to undefined symbol names. Both of these are ultimately strange, because our tests and examples do not even compile with ENABLE_OpenMP=On with msvc. Axom's Windows workflow is to build RAJA without any of the tests and exercises enabled, install RAJA, then only use non-reduction versions of RAJA's OpenMP constructs. This only ever worked because SFINAE and code duplication allowed reduction-free OpenMP code to be compiled by Axom downstream, but RAJA's reduction versions of launch, forall and kernel to go uncompiled.

tldr; RAJA + OpenMP + msvc doesn't work in most cases, but axom carved out some use cases that do. This PR retains that functionality.

We might need to add more #ifdef guards to the launch and forall backends

@bmhan12

@johnbowen42
Copy link
Contributor Author

this pipeline #1975 should catch problems like the one from #1947 in the future, but the error the cpp 17 PR introduced won't be tested by this. Our only option for testing that would be to add a Windows-only test, because many tests and examples do not compile with Windows and OpenMP

@johnbowen42 johnbowen42 requested review from a team and smithsg84 January 15, 2026 22:20
@bmhan12
Copy link
Contributor

bmhan12 commented Jan 20, 2026

Can confirm these changes do fix the failures Axom was seeing in llnl/axom#1769 !

@johnbowen42 johnbowen42 requested a review from adayton1 January 23, 2026 00:14
@johnbowen42 johnbowen42 force-pushed the bugfix/bowen/msvc-openmp-bugs branch from 838c666 to 8631d76 Compare January 26, 2026 17:47
@johnbowen42 johnbowen42 merged commit b920473 into develop Jan 26, 2026
23 of 35 checks passed
@rhornung67 rhornung67 deleted the bugfix/bowen/msvc-openmp-bugs branch January 26, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants