-
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
Fix setting the data pointer of error SimpleVector #236
Fix setting the data pointer of error SimpleVector #236
Conversation
Hi @makortel, |
@fwyzard Something like that (even though |
OK! I was just debugging that section of code... |
And yeah, maybe we should add a data workflow to the tests (to at least ensure that it runs for starters). |
In any case I think we should drop GPUSimpleVector in favor of the GPUVecArray that requires much less gymnastics. |
I fully agree (and even for runtime-known capacity we should make a class with a safer interface). |
at the moment git cms-merge-topic (git in general for CMSSW I suppose) does not work @SimonS so cannot test on V100 |
Validation summaryReference release CMSSW_10_4_0_pre4 at d74dd18
|
No impact on physics performance (as expected):
|
No impact on the throughput: before
after
|
While working on Raw2Cluster migration to #100, I realized that #109 removed re-setting the data pointer of the erro
SimpleVector
to point to the host memory after thecudaMemcpyAsync()
incmssw/RecoLocalTracker/SiPixelClusterizer/plugins/SiPixelRawToClusterGPUKernel.cu
Lines 586 to 587 in 6f55d70
We haven't hit on the problem because on the consumer side
cmssw/RecoLocalTracker/SiPixelClusterizer/plugins/SiPixelRawToClusterHeterogeneous.cc
Lines 644 to 646 in 6f55d70
the data is accessed only if
size() > 0
, and for MC the size appears to be0
.This PR sets the data pointer in a proper place (after the async copies have completed).