【发布时间】:2023-04-05 20:03:01
【问题描述】:
我已设置cudaArray,并将其绑定到纹理:
texture<float, 2, cudaReadModeElementType> tex;
cudaChannelFormatDesc channelDesc =
cudaCreateChannelDesc(32, 0, 0, 0, cudaChannelFormatKindFloat);
cudaArray *cuArray;
checkCudaErrors(cudaMallocArray(&cuArray,
&channelDesc,
width,
height));
checkCudaErrors(cudaMemcpyToArray(cuArray,
0,
0,
hData,
size,
cudaMemcpyHostToDevice));
现在我想知道,如果cuArray 和tex 中的内容在计算过程中一直保持不变,我可以将tex 和/或cuArray 传递给另一个函数,这样我就不会'每次都要绑定吗?
类似这样的:
DoJobUsingTex(float* output, float* input, int size, texture tex)
{
\\ do something here
}
【问题讨论】:
-
@talonmies 我还没有尝试过,但它看起来正是我需要的。您能否将其发布为答案,以便我接受?非常感谢。
标签: memory cuda gpu textures cuda-arrays