Skip to content

Kokkos cleanup - #4499

Merged
roystgnr merged 50 commits into
libMesh:develfrom
roystgnr:kokkos-cleanup
Aug 28, 2026
Merged

roystgnr merged 50 commits into
libMesh:develfrom
roystgnr:kokkos-cleanup

Conversation

@roystgnr

@roystgnr roystgnr commented Jul 17, 2026 •

Copy link
Copy Markdown
Member

Accidentally hit "make pull request" when I was aiming for the arrow for "convert to draft".

Anyway, @rochi00 is seeing a weird Lapack LU failure in adaptivity_ex3 when running this branch himself, but I can't reproduce it, so I want to see what CI environments think.

@roystgnr
roystgnr marked this pull request as draft July 17, 2026 17:51
@moosebuild

moosebuild commented Jul 17, 2026 •

Copy link
Copy Markdown

Job Coverage, step Generate coverage on 89dfd41 wanted to post the following:

Coverage

036428 #4499 89dfd4
Total Total +/- New
Rate 65.93% 65.93% +0.00% 100.00%
Hits 79374 79375 +1 7
Misses 41021 41020 -1 0

Diff coverage report

Full coverage report

This comment will be updated on new commits.

@roystgnr
roystgnr force-pushed the kokkos-cleanup branch 4 times, most recently from 81011e6 to 41b302f Compare August 18, 2026 20:52
Hopefully this fixes the problem when Kokkos yells at us when we
configure with OpenMP but then test its header (which we were doing
without -fopenmp), as well as any problems downstream from people
missing -fopenmp in pkgconfig.
This gets some Kokkos updates from Rochi
This fixes --enable-werror --enable-paranoid-warnings --enable-kokkos
builds for me.
Rochishnu Chowdhury and others added 16 commits August 20, 2026 08:52
This is necessary for --enable-werror --enable-paranoid-warnings (and
possibly just the former?) configurations with Ubuntu 26.4 Kokkos for
me.
This looks like more of the sort of redundancy I want to get rid of, but
I want to get compiling first.
I can't actually trigger this directly yet, but I needed it in
MetaPhysicL for indirectly included Kokkos headers (at least for the
version in Ubuntu 26.4) there.
"Should I add a layer of indirection to accomplish X" is one of the
hardest questions in software, unless X is "nothing".  Then it's easy.
This might become useful again depending on how we change things in the
backend, but for now it's redundant with operator().
operator() setters here lets us avoid an indirection layer
If we had to support arbitrary third-party classes directly this would
have been helpful, but we're writing our own shims here.
@roystgnr
roystgnr marked this pull request as ready for review August 25, 2026 18:10
rochishnu0 and others added 3 commits August 25, 2026 23:00
Add the standard libMesh copyright banner and doxygen documentation
(\returns, \p, \note) for every public class, method, and free
function in the Kokkos numerics headers, bringing them in line with
the include/base and include/numerics documentation conventions.
Comments explain the architecture (vector-like/tensor-like traits,
non-owning refs, materialization, storage policies and layouts) and
flag behavioral caveats such as the exact (non-tolerance) tensor
equality comparison and shallow Kokkos view constness.

No code changes: the comment-stripped preprocessor output is
byte-identical before and after.

Claude-Session: https://claude.ai/code/session_01VrvJKfUC5c1kbNzwwZnMmy
Add file-purpose headers and section comments to the Kokkos oracle
tests, in line with the comment density of the existing unit tests.
The comments capture the oracle strategy (host references computed
with the owning types, recomputed in device code and compared within
tolerance), the position-based result ordering contract between
fixtures and runners, why the kernels are single-index, what the
mixed-representation tests uniquely exercise, and how the .K driver
is built and run independently of CppUnit.

No code changes: the comment-stripped preprocessor output is
byte-identical before and after.

Claude-Session: https://claude.ai/code/session_01VrvJKfUC5c1kbNzwwZnMmy
@roystgnr

Copy link
Copy Markdown
Member Author

Okay, this is the third PR I've seen where two MOOSE solid_mechanics/test:interaction_integral.ii_3d tests are failing on either clang or min-gcc recipes. I'm pretty confident that's a downstream problem.

@roystgnr
roystgnr merged commit 17c9ce0 into libMesh:devel Aug 28, 2026
22 of 23 checks passed
@roystgnr
roystgnr deleted the kokkos-cleanup branch August 28, 2026 21:03
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