2D texture bind limits

Hi everyone,

I have a question with regards to the maximum size we are able to bind a region of pitch memory to a texture reference.
According to the guide, the maximum size for 2.x compute capability is (width x height)65536 x 65536.

But since my program dynamically tries to bind them according to calculated parameters, I realize when I run it, CUDA never complains that I have exceeded the height limits (>90000), but the width is small. Overall, the size is smaller than 65536x65536.

I used the texture for 2D texture linear interpolation. Since, it exceeds the limits, my question is, is it interpolating it correctly? My program tries to fetch 90000 in the height, what is it actually fetching?

Anyone encounter this before?

The texture size limits apply per dimension. So a 90,000 x N texture exceeds the hardware limit.

With CUDA 4.1 when trying to bind a texture that exceeds the size limit you should see cudaErrorInvalidValue being returned. Note also that the size limits for 2D textures have been re-stated as 65000 x 65000 (see table F-2 in the CUDA C Programming Guide).

How about before 4.1? what return will i get?

I tried to burst the limit for width and it gives error. But when I burst the limits for height, it did not complain.

I am not getting that error message, that’s why I am puzzled.

Prior to 4.1 there was a bug in that maximum dimensions were not checked properly. This has been corrected in CUDA 4.1. Independent of the size check performed by the driver a texture that exceeds the documented maximum dimensions will not work properly or as desired, as these bounds are based directly on hardware limitations.