use int2 to get double texture

Hi, I got a problem during the rumtime, the error is:

Cuda error in file ‘texture.h’ in line 20 : invalid texture reference.

I used int2 to get double texture, it work in CUDA2.3, but error in CUDA3.1

the code in my texture.h is:

texture<int2, 1>  tex_x_double;

void bind_vec(double *x)

{  

<b>line 20</b>:   CUDA_SAFE_CALL(cudaBindTexture(NULL, tex_x_double, x));  

}

__inline__ __device__ double fetch_vec(const int &i, double *x)

{

	int2 v = tex1Dfetch(tex_x_double, i);

	return __hiloint2double(v.y, v.x);//avoid banks conflict

}

Don’t know, works for me. Is this really the file texture.h? If yes, maybe consider placing executable code in .cu files, not header files.

Don’t know, works for me. Is this really the file texture.h? If yes, maybe consider placing executable code in .cu files, not header files.