Are double precision textures now available on all devices?

Just a quick question about architectures 3XX and newer. Are all of these devices able to make use of double-precision textures? The code I’ve got in front of me has a lot of pre-processor directives about “ifdef NODPTEXTURE” and so forth, which I’m thinking I can do away with to clean it up.


Unless I really did not pay attention, there is not now, nor has there ever been, double-precision texture support in the hardware.

What you can do, is use an ‘int2’ texture, fetch data as ‘int2’, reinterpret that as double precision using __hiloint2double(), then interpolate using FMA. All this has been supported since double precision became a base architecture requirement with sm_13.

My suggestion: check code comments and usage to see what NODPTEXTURE is actually about in your code base.

If the above characterization is accurate, that means you might be able to remove NODPTEXTURE from the code base since Fermi is no longer supported by CUDA 9.

Thanks for your two replies, Norbert! Always looking out for me…

I will probably go ahead and remove the hacks to get around the flaky textures, and I had seen plenty of the hiloint2double convention but thought that most of the conversations were rather old. Still rolling along here…