-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output descriptive state on CPU when an offloaded track dies #752
Conversation
@@ -76,7 +76,7 @@ void ActionInitialization::Build() const | |||
init_celeritas_}); | |||
// Event action saves event ID for offloading and runs queued particles at | |||
// end of event | |||
this->SetUserAction(new EventAction{transport}); | |||
this->SetUserAction(new EventAction{params_, transport}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now, all user actions (TrackingAction, EventAction, RunAction
) pass both SharedParam
and LocalTransporter
. Can SharedParam
then be a member of LocalTransporter
so that we just pass LocalTransporter
, which simplify user action interfaces (in CMSSW too)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's better to keep them separate because they're serving different purposes and because there's no direct relationship between the two (other than you need the shared params to build the transport and to interpret the exceptions). When we combined the params + state into CoreRef I ended up having to split them apart later, so I'd like to avoid that pitfall again.
} | ||
msg << "\n- Energy: " << kce.energy() << "\n- Position: " << kce.pos() | ||
<< " (cm)" | ||
<< "\n- Direction: " << kce.dir(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add which physics process trigger the exception?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the kernel label may tell us? It's kind of hidden in the top line of the output, but e.g. in the example in the description it's geo-boundary
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes the active kernel, which is output, should give the most accurate picture. I could also add the post step action ID but that would require further changes to the KCE so perhaps a later pr?
} | ||
msg << "\n- Energy: " << kce.energy() << "\n- Position: " << kce.pos() | ||
<< " (cm)" | ||
<< "\n- Direction: " << kce.dir(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the kernel label may tell us? It's kind of hidden in the top line of the output, but e.g. in the example in the description it's geo-boundary
.
In combination with #751 :