-
Notifications
You must be signed in to change notification settings - Fork 5
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
bugfix - change treatment of GPU tracks not on CPU #284
bugfix - change treatment of GPU tracks not on CPU #284
Conversation
… CPU. If this is the case ignore the track in vertexing
IIUC the check is only on the number of tracks, not on the individual tracks themselves ? |
What leads to the inconsistency ? |
no, the id of the track is set to be a high number, higher than the number of tracks |
Validation summaryReference release CMSSW_10_5_0_pre2 at 4fd4ff5
|
Does the inconsistency originate from here cmssw/RecoPixelVertexing/PixelTrackFitting/plugins/PixelTrackProducerFromCUDA.cc Lines 158 to 160 in 96828db
? (there is also another cmssw/RecoPixelVertexing/PixelTrackFitting/plugins/PixelTrackProducerFromCUDA.cc Lines 193 to 197 in 96828db
but inspecting PixelTrackBuilder::build() it does not return nullptr )
|
GPU tracks are copied to the CPU to fill legacy data formats. For every track we read the hits and the map associates a hit GPU to a converted GPU hit on CPU. |
Thanks @felicepantaleo for the explanation.
Should the latter "GPUs" be "CPUs"? |
no the error is on the previous GPU: |
Ok, thanks for the fix. |
Update master-cmsswmaster to CMSSW_10_4_0
In very rare cases a GPU track, which does not exist on the CPU, might be created.
This is due to the fact that the clusterizer is not exactly the same and a single hit difference in very rare cases could lead to a single track difference.
Currently the treatment for this track, which is not found on the CPU is to throw an assert.
This PR changes this assert into a skip of the track, fix by @VinInn