strange linking inaccuracy problem


I have a strange problem:
When I link CUDA code to my project trigonometric functions return different results. I checked sin and cos (the double version) and they are both of in the last 5 digits. Those functions run on the CPU so they shouldn’t be affected.

Any ideas what could cause this? My setup is a bit weird and probably not in the boundaries that nVidia defined but I’d be glad for help anyway.

I’m using Visual Studio 2005. I am also using the Intel C++ Compiler for compiling CPU code not the Microsoft compiler. I guess I’m not supposed to use it but I have to. I compile nvcc code via the custom build step feature of VS by simply specifying the nvcc command.

I already tried to compile the GPU code not inside VS and simply link the obj file later but without any success meaning the inaccuracy still exists. I thought maybe nvcc changes some paths and somehow messes up some math include files.
But it appears as if the mere linking of the GPU obj influences the CPU code.

I will investigate this further - maybe I just messed something up but any hints would be greatly appreciated.


Never mind - the problem… is gone.
I don’t know why. Probably my fault :-)