[OptiX 8.0] OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING returns 0

Hello,

In my environment the device property OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING weirdly returns 0 although my env seems to support SER.
For example, I can observe this by adding optixDeviceContextGetProperty to the optixPathTracer sample like the following:

createContext( state );
uint32_t serFlags;
optixDeviceContextGetProperty(
    state.context,
    OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING,
    &serFlags, sizeof(serFlags));
buildMeshAccel( state );

Do I need something more than using RTX40- and a proper driver to make SER work?

Environment:
OptiX 8.0.0
CUDA 12.2
Windows 11 Pro 22H2 (22621.2213)
Driver: 536.99
Geforce RTX 4080
Ryzen 9 7950X

That’s weird. I need to file a bug report about that because I don’t have a comparable system configuration at hand.
I could not reproduce that on my Windows 10, RTX 6000 Ada system running either 535.98 or 536.96 drivers. The flag was correctly reported as 1.

Could you please check if you have the environment variable OPTIX_FORCE_DEPRECATED_LAUNCHER set to non-zero?
If yes, please set it to zero or remove the environment variable. Shader Execution Reordering requires the new launching mechanism.

Bingo!

I set this env variable because of the printf issue in the last OptiX:

Thanks!

Programming guide seems to still mention the env variable.
Is the variable still needed for debugging/printf?

The printf issue is fixed in R535 drivers.

I haven’t tried with current drivers but I think debugging and profiling still needs it unfortunately.
As the programming guide says, only set it when you don’t hit breakpoints.
It’s definitely going away in the future when all involved components have added the necessary support.

1 Like

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