Commit 2e168ab
KF - BUGFIX! - Static scheduling for the threaded kinetic kernel loop
The per-surface kernel loop indexed per-thread scratch (thread_intrs and the
four matrix buffers) by threadid() under DEFAULT dynamic scheduling -- the only
threaded loop in the codebase missing :static. Task migration at yield points
lets two tasks share a buffer and corrupt matrix rows, making every
calculated-kinetic run nondeterministic at rare-migration frequency (observed:
three runs of an identical DIII-D deck gave et[1] = 1.0053, 1.1355, 0.9895).
All other threadid-indexed loops already use :static per the GPEC convention.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzbLFQKyuRE5DYZmLokKmk1 parent 97e5f55 commit 2e168ab
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
| 123 | + | |
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| |||
0 commit comments