Skip to content

Use Kokkos::Parallel in buildTridiagonalMatrices#259

Merged
EmilyBourne merged 10 commits into
mainfrom
litz_030
May 15, 2026
Merged

Use Kokkos::Parallel in buildTridiagonalMatrices#259
EmilyBourne merged 10 commits into
mainfrom
litz_030

Conversation

@julianlitz
Copy link
Copy Markdown
Collaborator

Merge Request - GuideLine Checklist

Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.

Checks by code author:

Always to be checked:

  • There is at least one issue associated with the pull request.
  • New code adheres with the coding guidelines
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

If functions were changed or functionality was added:

  • Tests for new functionality has been added
  • A local test was succesful

If new functionality was added:

  • There is appropriate documentation of your work. (use doxygen style comments)

If new third party software is used:

  • Did you pay attention to its license? Please remember to add it to the wiki after successful merging.

If new mathematical methods or epidemiological terms are used:

  • Are new methods referenced? Did you provide further documentation?

Checks by code reviewer(s):

  • Is the code clean of development artifacts e.g., unnecessary comments, prints, ...
  • The ticket goals for each associated issue are reached or problems are clearly addressed (i.e., a new issue was introduced).
  • There are appropriate unit tests and they pass.
  • The git history is clean and linearized for the merge request. All reviewers should squash commits and write a simple and meaningful commit message.
  • Coverage report for new code is acceptable.
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

@julianlitz
Copy link
Copy Markdown
Collaborator Author

julianlitz commented May 14, 2026

image

@EmilyBourne Works on my machine. You can try to resolve the CUDA compilation if you want.
Doesn't seem to like KOKKOS_CLASS_LAMBDA

(And I have no idea why clang format fails. 🍿)

@julianlitz julianlitz requested a review from EmilyBourne May 14, 2026 17:42
@julianlitz
Copy link
Copy Markdown
Collaborator Author

imageimage
Vector or AllocatableVector?

@EmilyBourne
Copy link
Copy Markdown
Collaborator

Doesn't seem to like KOKKOS_CLASS_LAMBDA

I've also been having issues with KOKKOS_CLASS_LAMBDA in #251. I haven't dug through yet to find the cause though

@EmilyBourne
Copy link
Copy Markdown
Collaborator

Vector or AllocatableVector?

The only difference between Vector and AllocatbleVector is that AllocatableVector can be given a new memory allocation while Vector always points to the same memory block. I don't see any reason for the type to be changed in this PR

@EmilyBourne
Copy link
Copy Markdown
Collaborator

Doesn't seem to like KOKKOS_CLASS_LAMBDA

I've also been having issues with KOKKOS_CLASS_LAMBDA in #251. I haven't dug through yet to find the cause though

The compilation issue is probably due to SparseMatrixCOO(const SparseMatrixCOO& other) = delete; which removes the default copy operator from any class containing a SparseMatrixCOO. I'm struggling to debug the execution issue in #251 though as I still haven't managed to reproduce the issue locally

Comment thread include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/buildTridiagonalAsc.inl Outdated
@EmilyBourne
Copy link
Copy Markdown
Collaborator

@EmilyBourne Works on my machine. You can try to resolve the CUDA compilation if you want. Doesn't seem to like KOKKOS_CLASS_LAMBDA

(And I have no idea why clang format fails. 🍿)

Having merged #251 I have updated this branch which has indeed fixed the compilation. I've also fixed the clang format. I recently added *.inl to the files that are tested with clang format. I guess this is why you didn't spot the issue

Comment thread include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/buildTridiagonalAsc.inl Outdated
Comment thread include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/buildTridiagonalAsc.inl Outdated
Comment thread include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherGive/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherGive/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherGive/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherGive/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherTake/buildTridiagonalAsc.inl Outdated
Comment thread include/Smoother/SmootherTake/buildTridiagonalAsc.inl Outdated
@EmilyBourne
Copy link
Copy Markdown
Collaborator

I am fixing this locally, but it looks like these functions aren't using any class properties anyway so changing to static methods is trivial

… should be avoided in ExtrapolatedSmootherGive
@julianlitz
Copy link
Copy Markdown
Collaborator Author

@EmilyBourne Yes Tridiagonal can be made easily static inline 👍🏼 Only for InnerBoundary we need to make the stencilMatrix.inl members static inlined.

@EmilyBourne
Copy link
Copy Markdown
Collaborator

At c5d6b0b on v100:

100% tests passed, 0 tests failed out of 268

@EmilyBourne
Copy link
Copy Markdown
Collaborator

At 4bd2957 on v100:

100% tests passed, 0 tests failed out of 268

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.26%. Comparing base (b36bdfd) to head (4bd2957).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
+ Coverage   90.20%   90.26%   +0.05%     
==========================================
  Files          79       79              
  Lines        8935     8986      +51     
==========================================
+ Hits         8060     8111      +51     
  Misses        875      875              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread include/Smoother/SmootherGive/buildTridiagonalAsc.inl
@EmilyBourne EmilyBourne merged commit 13c3310 into main May 15, 2026
9 checks passed
@EmilyBourne EmilyBourne deleted the litz_030 branch May 15, 2026 14:42
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.

2 participants