-
Notifications
You must be signed in to change notification settings - Fork 52
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
Update detray version to v0.73.0 #685
Conversation
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.
No fundamental issues of course, just some technical questions.
Would we not need to teach traccc::options
about the extension in traccc::finding_config
? (And even the one in the simulation config I suppose.) We'd like to be able to set the new particle hypothesis value from the command line as well I guess. 🤔
4cfbe68
to
56a1626
Compare
This is done now. As there was no function for casting particle type from double to float, I just used traccc::scalar everywhere but this can be fixed in the future |
56a1626
to
ab4ac0b
Compare
One issue appeared was that the particle hypothesis may have different charge with the reconstructed track. For example, the track fitting starts with muon hypothesis but there can be tracks with positive charge. In that case, the particle hypothesis is changed to its anti-matter. |
be0f0cc
to
500b3a7
Compare
5b39467
to
0306bf2
Compare
Any approval? |
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.
Joana is right to worry about all the "if statements". 🤔 We'll have to see exactly what this does to the GPU code, but even when most of the threads will take one path, having any new branching point cannot be good for the code's performance. The question is only how bad it is. Not whether it's bad.
That being said, if we need to live with this, then we do. Still, any "trick" that allows us to perform an operation without an if
or switch
statement, is a good trick. 😉
I think @krasznaa is misunderstanding sth. The branching only happens inside the function. It is not like it will create entire new branching for the next stages. |
? It's happening inside of a function, which is called from the track finding kernel. This is the definition of branching in the GPU threads... 😕 Again, it may be unavoidable (though maybe not based on the discussion so far), but let's not kid ourselves that adding |
I have never said that it is free. I just said it is going to be "tiny". |
Yeah, its probably benign. It just seemed avoidable |
0306bf2
to
dd656a0
Compare
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.
👍
As of detray v0.73.0, we need to handle the particle hypothesis appropriately.
Free covariance matrix is also removed as it turned out to be unnecessary.
It is not relevant with the detray version update, but the PR make the test for the track parameter estimation cover the positive charge as well.