I have a piece of code that copying over a single-element double array to the GPU, multiplying its value by two, and then returning the value back home. Upon printing out the value copied back to the host, I found that the value was always the original value, not the multiplied-by-2 value. I changed every instance of double to float, and then it worked perfectly.
I didn’t know that the GPU didn’t support double values. I am using Windows XP 32-bit Professional, Visual Studio 2008, CUDA 3.0 Toolkit, Tesla C1060 cards. As I understand it, all of those support doubles? Apparently not.
What am I missing here?