comfused with tex2D()...

My card is compute capability 1.1. The kernel reads the image from texture cache
to shared memory. But when the kernel output the image from shared memory, the image
position has some warping. This situation only happens on 450x375 image. For 640x480 image,
the result is correct.

I did not do any coordinate conversion before, so it is strange. Maybe it is because 450 can not be
divided by 16.

I use tex2D() to fetch the data, for linear and pitch linear array, the results are not correct.
While I change to cudaArray, everything is correct. I really want to know how it happen.

In addition, the texture return unsigned char data, and the coordinate is unnormalized.

Hope some one can give me some indication, thanks in advance