Just for completeness of the system environment, what is your host compiler version?
1.)
With 461.09 installed, you could also use OptiX SDK 7.2.0.
The optixCallablePrograms example contains a few code changes between these OptiX versions
One looks to be like a missing variable initialization of dc_index
which could very well be the reason for this release vs. debug behavior you see.
Please let us know if that solves this issue.
2.)
For the second issue, you’re saying you have your own OptiX application implementing that callable program named
__direct_callable__scatterMetallic
and optixProgramGroupCreate() already fails because it cannot find that direct callable name inside the given module?
Did the __direct_callable__scatterLambertian
also fail?
Did you look into the *.ptx source code to check if it’s actually in there?
If it’s not, you’re most likely missing an NVCC compiler option required since CUDA 8.0 which prevents dead code elimination of functions which aren’t called inside the module.
Check this post: https://forums.developer.nvidia.com/t/comparing-optix-performance-to-cuda/74721/20
I’m using direct callables in most of my OptiX applications.
Note that you can create multiple OptixProgramGroups at once.
https://github.com/NVIDIA/OptiX_Apps/blob/master/apps/nvlink_shared/src/Device.cpp#L792