cudaBindTexture2D(NULL, texIniImg,
cuArrayIn,
channelDesc, 128, 128,
sizeof(float) * 128);
当更新cuArrayIn时,如何使绑定到的纹理内存texIniImg也相应的更新?
楼主您好:
只要对应的cuda array中的内容已经被改变,那么相应的纹理读取将自动改变。
(需要注意的是,改变将在下次kernel启动生效,而不是立即)
感谢来访。
谢谢版主,不过最近写程序的时候,因为需要更新纹理数据,所以就这样修改了下cuda array的数据cudaMemset(cuArrayIn, 0, 128128sizeof(float));
cudaMemcpyToArray(cuArrayIn,
0,
0,
pdInitImg,
128*128*sizeof(float),
cudaMemcpyHostToDevice);但核函数执行完后回返回invalid argument,这样的思路是不是不可行?
LZ您好:
invalid argument一般说明您使用API函数的时候,参数是不正确的,请您检查并修正。
祝您好运~
楼主你好,
cudaMemset不能给cuda array赋值的,整天乱用!你用之前看了手册中此函数的说明了么? 用一个东西前,你的知道这东西是干嘛的,写代码需要一定的逻辑性的,不可以根据自己的情绪变化就随便写。
此外,关于你的kernel,请连续给出此kernel启动语句附近的所有语句。
而不要节选你认为有问题的地方,因为你的知识层次不够,你节选可能会将问题所在给“节选”出去了。(不是说你发的此段代码无问题,而是说别的地方可能也有问题,建议发全)
感谢来访。
版主太犀利了,受教了,谢谢