I am using OptiX within a Docker container built by myself. I already overcome some of the problems related to using OptiX in docker and I got to the point of compiling SDK examples.
After compiling with CMake both optixHello and optixCurves without errors I stumble in the same error while trying to run the executable (e.g. as ./optixHello). The error is showed below. I was wondering if the error is related to the compilation (which returns me no errors and correctly creates the executable) or it is a runtime error.
Also it seems to be related with optixModuleCreate() function and the exceptions is marked as OPTIX_ERROR_INVALID_INPUT meaning that maybe the input are wrong, even if I am using the code from optixHello without modifying it by any mean.

My specs are:

  • Driver Version: 535.154.05
  • CUDA Version: 12.3
  • Optix 7.7.0
[ 4][       KNOBS]: All knobs on default.

[ 4][   DISKCACHE]: Opened database: "/var/tmp/OptixCache_jordydalcorso/optix7cache.db"
[ 4][   DISKCACHE]:     Cache data size: "0 Bytes"
[ 4][   DISKCACHE]: Cache miss for key: ptx-18300-keybdf11a81558d66d0c9907cf3f6caf3bf-sm_61-rtc0-drv535.154.05

minor Version (60) newer than tool (should be 59)
minor NvvmIRVersion (63) newer than tool (should be 58)

Caught exception: OPTIX_ERROR_INVALID_INPUT: Optix call 'optixModuleCreate( context, &module_compile_options, &pipeline_compile_options, input, inputSize, LOG, &LOG_SIZE, &shading_module )' failed: /opt/optix/NVIDIA-OptiX-SDK-7.7.0-linux64-x86_64/SDK/optixCurves/optixCurves.cpp:483)

minor Version (60) newer than tool (should be 59)
minor NvvmIRVersion (63) newer than tool (should be 58)

This sounds like an incompatibility between the CUDA Toolkit 12.3 version (too new) and the display driver or OptiX SDK 7.7.0.
I think R535 drivers only support CUDA 12.2.

You could see that when asking for the CUDA driver version inside the application like this:
CUDA Runtime API: https://github.com/NVIDIA/OptiX_Apps/blob/master/apps/intro_runtime/src/Application.cpp#L520
CUDA Driver API: https://github.com/NVIDIA/OptiX_Apps/blob/master/apps/MDL_renderer/src/Raytracer.cpp#L178

If that is not reporting 12.3 then your display driver is too old for the CUDA Toolkit you’re using and you would either need to update your display driver or downgrade your CUDA Toolkit.

Please always read the OptiX Release Notes before setting up a development environment.
The links to those release notes are directly below each OptiX’ versions download button.

It works now.
I downgraded the CUDA toolkit to Version 12.0 as per release notes. The issue was that my local system was running the 12.0 version while I was building the remote docker using the base 12.3 image.
Thanks very much for the support!