Skip to content

Replace Core State counter synchronization with host functors or device kernel calls#2242

Draft
LSchwiebert wants to merge 43 commits intoceleritas-project:developfrom
LSchwiebert:CoreStateCounters-kernels
Draft

Replace Core State counter synchronization with host functors or device kernel calls#2242
LSchwiebert wants to merge 43 commits intoceleritas-project:developfrom
LSchwiebert:CoreStateCounters-kernels

Conversation

@LSchwiebert
Copy link
Contributor

This PR replaces the synchronized Core State counter getter and setter functions with device kernel calls or host functors. These getter and setter functions were introduced in PR #2177 and #2208, which moved these counters to the device. The objective is to remove synchronization between the host and device when running an event.

Currently, this has code to revise only one synchronization -- the synchronization in the Stepper::operator()(SpanConstPrimary primaries) function -- with a functionally-equivalent executor functor. Once everyone is happy with the solution used here, it will be replicated elsewhere to replace other synchronizations. Just trying to reduce the burden of reviewing similar changes.

LSchwiebert and others added 30 commits January 3, 2026 17:28
@LSchwiebert LSchwiebert self-assigned this Feb 6, 2026
@LSchwiebert LSchwiebert added enhancement New feature or request performance Changes for performance optimization labels Feb 6, 2026
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Test summary

 5 908 files   9 446 suites   8m 4s ⏱️
 1 733 tests  1 723 ✅  10 💤 0 ❌
30 668 runs  30 510 ✅ 158 💤 0 ❌

Results for commit 4daf06e.

@codecov
Copy link

codecov bot commented Feb 6, 2026

Codecov Report

❌ Patch coverage is 76.92308% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.28%. Comparing base (599cdbc) to head (4daf06e).

Files with missing lines Patch % Lines
src/celeritas/global/detail/SetPending.cc 62.50% 3 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2242      +/-   ##
===========================================
- Coverage    86.87%   85.28%   -1.60%     
===========================================
  Files         1331     1299      -32     
  Lines        42102    40556    -1546     
  Branches     12951    10554    -2397     
===========================================
- Hits         36578    34588    -1990     
- Misses        4319     4378      +59     
- Partials      1205     1590     +385     
Files with missing lines Coverage Δ
src/celeritas/global/Stepper.cc 100.00% <100.00%> (ø)
src/celeritas/global/detail/SetPending.hh 100.00% <100.00%> (ø)
src/celeritas/global/detail/SetPending.cc 62.50% <62.50%> (ø)

... and 725 files with indirect coverage changes

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request performance Changes for performance optimization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants