Raceckeck

Hi,

after I’ve got my denoising to work I wanted to check my source code using cuda-memcheck. synccheck and leak check are fine. However when I run cuda-memcheck with raceckeck tool i get some ‘hazards’ like
========= ERROR: Race reported between Read access at 0x000024b0 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half)
========= and Write access at 0x00001150 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [6 hazards]
========= and Write access at 0x00001170 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [10 hazards]
========= and Write access at 0x000012d0 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [37 hazards]
========= and Write access at 0x000012c0 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [1 hazards]
========= and Write access at 0x000011b0 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [44 hazards]
========= and Write access at 0x000012e0 in void optix_exp::nchwToNhwcKernel<__half, __half>(int, int, int, int, int, __half const , __half) [57 hazards]
=========

I get two read and four write hazards.
As optix_exp::nchwToNhwcKernel is out of my scope I would like to know whether I can ignore this.

Regards,
Franz

Since you can’t change that, you need to ignore it for now.

cuda-memcheck is known to report false positives on invalid memory accesses with OptIX’ stack management in the past (search the forum). This looks different. I’ll forward it to the denoiser experts.

Hm, sorry for double posting, but I did not find any comments like that in the forum.
Thanks for the rapid answer.

Regards,
Franz

No Problem. I meant cuda-memcheck errors like these:
https://forums.developer.nvidia.com/t/optix7course-fails-cuda-memcheck/107686
https://forums.developer.nvidia.com/t/cuda-memcheck-errors-from-sdk-samples-ignore/77227

Have a look at the compute-sanitizer which needs to be used instead of cuda-memcheck when enabling OS hardware scheduling.
It’s supposed to work better with OptiX 7 as well.
https://docs.nvidia.com/cuda/compute-sanitizer/index.html