cudabindTextureToArray问题
大家好,我碰到一个奇怪的问题,就是:我用cudabindTextureToArray()数组绑定到纹理后,我下面程序的所有kernel都不执行了,不知道是为什么,太奇怪了。大概代码如下 ,谢谢:
.h中: texture<uchar4, 2, cudaReadModeElementType> m_texRef; //2D float textrue;
udaChannelFormatDesc m_channelDesc; //纹理类型
cudaArray *m_pImageInArray; //纹理绑定的数组空间
.cpp中:
//为cuda array 分配空间
m_channelDesc = cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsigned);
CUDA_SAFE_CALL(cudaMallocArray(&m_pImageInArray, &m_channelDesc, m_pInfo->nSrcWidth, m_pInfo->nSrcHeight));
//设置纹理参数
m_texRef.addressMode[0] = cudaAddressModeWrap;
m_texRef.addressMode[1] = cudaAddressModeWrap;
m_texRef.filterMode = cudaFilterModeLinear;
m_texRef.normalized = false;
CUDA_SAFE_CALL(cudaBindTextureToArray( m_texRef,m_pImageInArray, m_channelDesc));//数组绑定到纹理
就是下面最后一句话只是运行,我程序再下面的kernel都不执行了,但如何注释掉这句,下面的kernel就是好的。
搞了好久,都不知道什么原因,谢谢!m_pInfo->nSrcWidth = 2048,m_pInfo->nSrcHeight = 768;