Hi, In order to use the latest features of OptiX7.1, I updated my GPU driver to latest version which is 451.67, and the application crashed.It appears that I called DXR function “CreateStateObject” before execute “optixDenoiserSetup” will cause this crash.
I’ve tried some combination:driver version 442.59 + OptiX7.0 works fine, but version 451.67 + OptiX7.1 will cause the same crash.
Is there any details I was missing after update OptiX and driver version?
VS report exception in nvcuda64.dll
Would you be able to provide a minimal and complete reproducer in failing state showing that problem for internal analysis? Thanks.
For reproducing the issue, what’ your remaining system configuration esp. OS version and installed GPUs?
If you got it to compile with OptiX 7.1.0 you probably have adjusted all necessary things already, but just in case, please make sure you’ve read the OptIX Release Notes for the specific structure changes compared to OptiX 7.0.0.
Link to the OptiX release notes are always directly below the OptiX download buttons on developer.nvidia.com.
Specs:
GTX 2080Ti
Win10 64bit(1909)
CUDA 10.2
driver 451.67
I want to correct the combination:442.59/445.75 + OptiX7.0 works fine,451.67 + OptiX7.0 crash.So I think maybe the driver version conflicts the OptiX7+?
I modify the DXR sample can also recurrent this crash, here is my modification(line77-line114), crash happen in line113 “optixDenoiserSetup”:D3D12RaytracingHelloWorld.cpp (32.8 KB)
Original DXR sample address:DirectX-Graphics-Samples/D3D12RaytracingHelloWorld.cpp at master · microsoft/DirectX-Graphics-Samples · GitHub
Thanks. I filed a bugreport for investigation against an RTX 2080Ti. :-)
Hello, I’d like to check if there was any progress with this report?
I also ran into the same problem while I was trying to embed OptiX Denoiser in NVIDIA’s Falcor 4.3.
I tried running the DXR sample that was linked in blumbee’s message, and was able to reproduce the same results on my PC where optixDenoiserSetup crashes.
This sample uses the following setup. I ran it and tried switching GPU driver versions.
GeForce RTX 2080 SUPER
Optix 7.0
CUDA 10.1 update 2
Windows 10 2004
GPU Driver Version number and whether it crashed:
442.59: ok
446.14: ok
451.48: crash
451.67: crash
465.89: crash
466.11: crash (latest)
Looking at the above results, considering that all settings other than the driver were the same, I personally thought that the problem may be caused by the driver.
Also, even when I used a version of the driver that experienced crashes, I was able to run the Denoiser sample included in OptiX 7.2 as normal. I think that crashes may occur when used in combination with DX12, like Falcor or DXR Sample.
So it would be great if you could look into this. Thank you.
I’ve ran into the same issue with a DXR application that doesn’t use Falcor.
GeForce RTX 3090 with 465.89 Driver
Optix 7.3
CUDA 11.3
Windows 10 2004
Behavior is exactly the same as described in the OP. Calling CreateStateObject to create a Raytracing pipeline causes all Optix functions to fail with an exception on nvcuda64.dll. Calling all functions and even denoising works perfectly fine before doing that.
I’d like to add a workaround I’ve found for this as well as add some extra information to my previous message.
The Optix routines can all work correctly if it’s created and operates in its own thread, separate from the one that creates the D3D12 state object. This introduces a lot of extra logic for synchronizing both components, but it’s pretty stable as far as I’ve tested at least.
I hope the issue can be resolved so such logic is not necessary, but it’s better than nothing. I figure it might help to provide a starting point in debugging the problem as well.