在kernel里数据只需要访问一次,本身已满足合并访问了,再加上纹理后,速度比原来的慢…
texture<float, 1, cudaReadModeElementType> trf;
CUDA_SAFE_CALL( cudaMalloc( (void**)&f_dev, sizeof(float) * N ) );//分配空间
CUDA_SAFE_CALL( cudaMemcpy( f_dev, &f[0], sizeof(float)*N, cudaMemcpyHostToDevice ) );//拷贝数据
cudaBindTexture(0, trf, f_dev, sizeof(float) * N); //绑定纹理
在kernel内部,只用访问一次数据,本身满足合并访问
f0 = tex1Dfetch(trf, k);//通过纹理读取数据
发现加纹理之后,程序变慢了,是不是我用的有问题?或者,本身不适和用纹理?
大家帮我看看