Weird result of CUDA tex2D with bilinear interpolation

When I tried to implement cuda bilinear interpolation with c++, I found the weird result of tex2D.
If alpha multiply beta less than 0.00390625, then the weird value appear.

Does any know what’s going on?

You can find detail on stackoverflow with same title.

I find the answer to explain this behavior, and update it at the stackoverflow.

Why are you using a float4 for the texture?

In the real case, I bind a RGB image to the texture, so dimension of texture must be 4.
And if you want to use linear filter with cudaReadModeElementType, type of texel must be float.
These things imply texel type to float4.
I don’t know is this answer your problem : )

This question has been solved by the OP himself on StackOverflow.