I have a customer which use a GeForce GTX660 with drivers 452.06 . With this setup, the following happens:
- cudaFree(0) returns cudaSuccess (so init is successful)
- optixInit return OPTIX_SUCCESS
- g_optixFunctionTable.optixDeviceContextCreate and g_optixFunctionTable.optixDeviceContextDestroy are not null.
- optixDeviceContextCreate returns “Error creating RTX context”.
Of course; I don’t reproduce this behavior on any other computer/setup. Can you help me understand and fix this ? What can I test ?
A GeForce GTX 660 board is based on the Kepler GPU architecture.
Kepler GPUs are not supported anymore since OptiX SDK 6.0.0.
Please refer to the OptiX Release Notes for more information about supported GPUs, OSes, and CUDA toolkits.
(Link always directly below the OptiX SDK download button.)
Maybe a specific return code would help a lot (unsupported hardware) instead of a generic error.
As a workaround I would query the CUDA streaming multi-processor version and reject devices below the minimum supported version.
CUDE Runtime API:
CUDA Driver API:
CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR and CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR
OK thanks for your fast feedback!