Closed esseivaju closed 2 years ago
@makortel All the current comments have been resolved, however, as mentioned in the original comment, running the stdpar application still results in runtime memory access error:
/bld4/home/esseivaj/devel/pixeltrack-standalone/src/stdpar/CUDACore/allocate_managed.cc, line 32:
cudaCheck(cudaFree(ptr));
cudaErrorIllegalAddress: an illegal memory access was encountered
Replacing the cudaMalloc*
with heap allocation and letting nvc++
fixes the issue, however, you'll then get similar errors when destroying cudaStream_t
/ cudaEvent_t
which require more important changes in how the framework processes events. Should we already merge this pull request and fix the issue in a subsequent one or do you want to keep it open until runtime issues are fixed?
Should we already merge this pull request and fix the issue in a subsequent one or do you want to keep it open until runtime issues are fixed?
Yes, at this point the developments are more useful as merged than as an open PR. I only added one change in the Makefile
to keep make all
function also when NVHPC
toolchain is not present.
Update the
std::par
program to build with thenvc++
compiler. Tested on zeus withChangelist
nvc++
nvc++
unified compilation modelsetHitsLayer
tostd::par
_CUDACC__
,__CUDA_ARCH__
macro to work withnvc++
nvc++
andEigen
Notes
setHitsLayer
cuda kernel (illegal memory access on device).PixelRecHits.cu
andCAHitNtupletGeneratorKernels.cu
can't be compiled with optimization because of bugs innvc++
. This has already been reported to Nvidia and should be fixed in the next compiler release.