the maximum width for the texture reference

It is quite strange for me about the maximum width for the texture reference that is bound to the 1-D cuda array.

Here is the pseudo code;
#define N1 (1<<13)
#define N4 (1<<13)
texture<float,1,cudaReadModelNormalizedFloat> tex1;
texture<float4,1,cudaReadModeNormalizedFloat> tex4;
// in main
cudaArray *cuA1, *cuA4;
cudaMallocArray(&cuA1,&tex1.channelDesc,N1,1);
cudaMallocArray(&cuA4,&tex4.channelDesc,N4,1);
cudaBindTextureToArray(tex1,cuA1);
cudaBindTextureToArray(tex4,cuA4);
cudaMemcpyToArray(cuA1,0,0,src1,sizeof(float)*N1,cudaMemcpyHostToDevice);
cudaMemcpyToArray(cuA4,0,0,src4,sizeof(float)N4,cudaMemcpyHostToDevice);

// in kernel
float a1 = tex1D(tex1,r);
float4 a4 = tex1D(tex4,r);
and there is no warning during the compilation.
After running the application, the tex1D(tex1,r) returns the correct values as expected.
But the tex1D(tex4,r) actually returns the value of "tex1D(tex4,2.f
r)". :angry:
So I change the value of N4 from (1<<13) to (1<<12), then it works perfectly.
But the manual says that the maximum widith is 2^13.

Doest the maximum width of the reference bound to 1-d cuda array depend on the type of the texture reference?

Thanks in advance.

Juhan