cms-patatrack / pixeltrack-standalone

Standalone Patatrack pixel tracking
Apache License 2.0
17 stars 35 forks source link

[stdpar] Update stdpar to remove Product, ScopedContext, device abstraction #372

Closed esseivaju closed 2 years ago

esseivaju commented 2 years ago

As discussed in #368 this PR contains an updated to cudart api utilization to get closer to standard c++ and no cuda dependencies.

Changes

Current issues to be fixed

[esseivaj@zeus pixeltrack-standalone]$ test/stdpar/gpuClustering_t 
created 175031 digis in 8960 clusters
CUDA countModules kernel launch with 2000 blocks of 256 threads
CUDA findModules kernel launch with 2000 blocks of 256 threads
before charge cut found 0 clusters
ERROR!!!!! wrong number of cluster found
found 897 Modules active
gpuClustering_t: /bld4/home/esseivaj/devel/pixeltrack-standalone/src/stdpar/test/gpuClustering_t.h:284: int main(): Assertion `h_clus[i] < int(nclus[h_id[i]])' failed.
Aborted (core dumped)
esseivaju commented 2 years ago

Changes listed in the original comment have been implemented. The tests below are still failing:

Fixing those will require updating many Kernels so it should probably be done in a future PR as this one is getting fairly large. Some of these tests (e.g. prefixScan_t / prefixScan.h) are still pretty much identical to the original cudauvm version, the only change being update to #define directives to compile the correct code with nvc++ so it's suggesting some issues with nvc++

makortel commented 2 years ago

it should probably be done in a future PR as this one is getting fairly large.

I agree, this starts to be a good chunk to integrate. Visually looks good, could you just confirm that you agree with merging now?

esseivaju commented 2 years ago

Yes we can merge now I will fix the remaining issues with HistoContainer, prefixScan and radixSort in the next pull request.