double precision trigonometric functions

Hi all,

I’m having a code that is doing a lot of computations in double precision. It worked fine with OptiX 2.5. But as I’m trying to migrate the project to OptiX 3.5 and CUDA toolkit 5.5, I’m getting the following runtime error:

Details: Function “_rtProgramCreateFromPTXFile” caught exception: defs/uses not defined for PTX instruction (Try --use_fast_math): madc.hi, [1310866])

I traced the error down to calls of the cos- and sin-functions for double variables. If I compile the project for compute capability 1.3 (-arch sm_13) and use fast math (–use_fast_math) everything works fine. I think I read somewhere, that compiling for this compute capability automatically treats all doubles as floats.

Am I right that usage of cos-calls for double precision are not allowed in OptiX 3.5 anymore?
Is there anything I can do about it?

Hi all,

with the help of the OptiX team I was able to locate the problem. It seems that CUDA toolkits starting from 4.2 produce ptx code, that is incompatible with OptiX, for a call to double precision trigonometric functions. So my solution is to use OptiX 3.5 with CUDA 4.0. This seems to work for me.