我把2D数据存储到纹理存储器,在内核函数中仅简单的通过纹理拾取把数据传回,这样处理后的数据和原来数据完全一样吗,相同坐标下对应的数值是一样的吗,不会有什么偏差吗?从实验数据中发现有些坐标下对应的两个值是不一样的
内核函数如下
texture <float,2,cudaReadModeElementType> tex;
global void
kernel(float *d_data,int Width,int Height){
int i=blockIdx.xblockDim.x+threadIdx.x;
int j=blockIdx.yblockDim.y+threadIdx.y;
float ix=(float)i;
float jy=(float)j;
if(i <Width&&j <Height){
d_data[i*Width+j]=tex2D(tex,jy,ix);
}
}