Texturing from a linear double array does not work

The usual way of texturing a linear array does not work for double precision!

texture tex_u;

double a = tex1Dfetch(tex_u, i);

Such a code sequence gives a compiler error:

1>…/device/device.cu(605): error: no instance of overloaded function “tex1Dfetch” matches the argument list
1> argument types are: (texture<double, 1, cudaReadModeElementType>, unsigned int)

Is there any workaround? says “Type is restricted to the basic integer and single-precision floating-point types” :-(