OptiX 8 Module Creation Version Mismatch?

Hi, I am new to OptiX development and I am trying to make a real-time raytracing project with a few friends. We all have different GPUs and the code compiles correctly on my friend’s device but on mine compiling .optixir to Modules at runtime fails.

minor Version (60) newer than tool (should be 59)
minor NvvmIRVersion (63) newer than tool (should be 58)
Optix call (optixModuleCreate(optixContext, &moduleCompileOptions, &pipelineCompileOptions, programData.data(), programData.size(), log, &sizeof_log, &modules[i] )) failed with error: 'OPTIX_ERROR_INVALID_INPUT (Invalid input)'
Module 0 Create:COMPILE ERROR:

I figured this is probably some sort of version mismatch between what was used to compile .optixir and maybe the cuda-runtime library but I’m not really sure what the issue is.

The CUDA runtime is not involved in that part.

I haven’t seen that specific message before but I would assume there is a mismatch of CUDA tookit versions used to compile your OptiX device code from *.cu to *.optixir with the CUDA display driver version supported by the failing system.
Like using CUDA 12.3 to translate the code, but the CUDA driver inside the display driver only supporting a lower version.

Please compare the display driver versions of the two systems to see if the failing one is too old.

You can query the CUDA driver version which reports the maximum CUDA toolkit version supported inside the application with cudaDriverGetVersion resp. cuDriverGetVersion like this:
If that reports a lower number than the CUDA toolkit version you used to translate the OptiX device code, you need to update your display driver or downgrade your CUDA toolkit version.

The OptiX Release Notes (link directly below the OptiX download button) describes the supported GPU, driver and CUDA toolkit configurations.

If that’s not it, please provide the following system configuration information for both of the systems:
OS version, installed GPU(s), VRAM amount, display driver version, OptiX (major.minor.micro) version, CUDA toolkit version (major.minor) used to generate the input PTX, host compiler version, streaming multiprocessor version targeted when translating the OptiX device code.

1 Like

Thank you so much. It turns out I was using CUDA 12.3 with driver 537.58, which supports up to CUDA 12.2 Update 2. Updating the driver resolved it.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.