no cudaErrors

Hi,
I just started playing around with CUDA, so maybe this is a stupid question… ;-)

I wrote a program, where I just upload a gray-level unsigned char image to a cudaArray
and issue a kernel which just copies the image to another section of device memory.

I wanted to use bilinear sampling (which as I understand by now doesn’t work for non-float textures). Anyway, I’m doing something like this:

texture<unsigned char, 2, cudaReadModeElementType> tex;

cudaChannelFormatDesc src_desc = cudaCreateChannelDesc( 8, 0, 0, 0, cudaChannelFormatKindUnsigned );
cudaArray* cu_array_src;

CUDA_SAFE_CALL( cudaMallocArray( &cu_array_src, &src_desc, width, height ) );
CUDA_SAFE_CALL( cudaMemcpy2DToArray( cu_array_src, 0, 0, … ) );

tex.addressMode[0] = cudaAddressModeClamp;
tex.addressMode[1] = cudaAddressModeClamp;
tex.filterMode = cudaFilterModePoint;
tex.normalized = false; // access with non-normalized texture coordinates

CUDA_SAFE_CALL( cudaBindTextureToArray( tex, cu_array_src, src_desc ) );

After that I execute the kernel. Everything works fine. The kernel just copies the image.
When I change to tex.filterMode = cudaFilterModeLinear; the program stops working, i.e.,
the image doesn’t get copied, instead I just see some random garbage in the copy destination.

However I don’t get any error messages indicating that something went wrong
(The CUDA_SAFE_CALL macros are just copied from the debug section in cutil.h)

Any ideas?

(…I’m not even sure, whether this is a linux problem)

Cheers,
Tobias