celeritas-project / celeritas

Celeritas is a new Monte Carlo transport code designed to accelerate scientific discovery in high energy physics by improving detector simulation throughput and energy efficiency using GPUs.
https://celeritas-project.github.io/celeritas/user/index.html
Other
58 stars 32 forks source link

Detect and gracefully handle ORANGE geometry errors during tracking #1316

Closed sethrj closed 2 weeks ago

sethrj commented 2 weeks ago

This adds a temporary scope failed flag to the geometry. Rather than storing this in global memory across kernels, it's stored in the track view as a temporary boolean. If initialization or surface crossing fails for ORANGE, this flag is set and the track initialization/boundary crossing kills the track.

sethrj commented 2 weeks ago

Ping @elliottbiondo

sethrj commented 2 weeks ago

@amandalund I think we'll be doing most of the initial debugging on CPU where we do get the output. At the beginning we're going to hit bugs in the implementation I'm sure; but I think this mechanism will have to still be in place for actual user errors as well (e.g. slightly overlapping regions). I would definitely like to have diagnostics for the number of "errored" tracks on GPU...