-
Notifications
You must be signed in to change notification settings - Fork 46
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
Cell Reading with Detray Geometry, main branch (2023.12.19.) #509
Cell Reading with Detray Geometry, main branch (2023.12.19.) #509
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.
In general looks OK
f4a7d23
to
48a57f3
Compare
Looks good to me as well |
I cherry-picked the 2 commits from #510 to make the ODD geometry work. We'll need to clean things up a bit when we merge these two PRs in. 🤔 |
f01de04
to
b4903ef
Compare
I de-scoped this PR a bit. It no longer tries to execute track finding and fitting. It just teaches the This works seemingly correctly on the host. But the SYCL and CUDA codes crash during clusterization on the ODD data. 😦 I'll need some help from @stephenswat for debugging it. As my first guess is that the parallelization logic in the clusterization code does not handle a particular ODD events correctly. Since I see this sort of a thing:
With the invalid memory access happening here:
|
After pondering a bit, I now think that we should go ahead with this update. The GPU clusterization code not being able to handle the ODD data is not something for this PR to fix. 🤔 Since reading TML data will continue working after this PR, and ODD reconstruction seems to work on the host, it should make it easier to debug the GPU clusterization code with this included in |
This is needed for processing data produced for the ODD geometry. To be able to read those files correctly, taught the CSV cell reading code how to switch from Acts to Detry identifiers in the cell module data on the fly. To make the simulation files usable with the identifiers generated by Detray.
The test files consistently contain "Acts geometry identifiers". While the identifier needs to be remapped to the "Detray identifier" when looking for the surface transforms, we still need the "Acts identifier" to look up the digitization parameters of the modules. This is a bit hacky way of achieving this, but for now it should be good enough.
Unfortunately no tracks are being found at the moment. :-( To be debugged.
…amples. Unfortunately that code does not yet work correctly, so let's not add it yet. Made it possible in all seq_example executables to read either the "old style" geometry description of the TML layout, or to use detray::detector to read in a geometry (and accompanying data file) using Detray. Unfortunately the SYCL and CUDA examples do not work with the ODD test data. Something with clusterization is going wrong.
90a8094
to
16997e0
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.
Looks good to me
16997e0
to
a7c9c31
Compare
Changed the API of traccc::io::read_geometry a bit for this, to make it easier to use Detray based geometries in the algorithm sequence applications. Updated all users of traccc::io::read_geometry to use the new API.
a7c9c31
to
a3e1145
Compare
Made the CPU algorithm sequence use Detray geometries. This is needed for processing data produced for the ODD geometry.
To be able to read those files correctly, taught the CSV cell reading code how to switch from Acts to Detry identifiers in the cell module data on the fly. To make the simulation files usable with the identifiers generated by Detray.
This is all very much a hack at the moment, in order to try to make the full (host) chain work on the ODD geometry.