主持我已经声明使用复制一个静态数组到managedCUDA
myKernel.SetConstantVariable("myStaticArray", new int[]{1,2,3,4,5});
在kernel.cu文件的静态数组
__device__ int myStaticArray[5];
我可以从主机修改此数组数处理后,我想将这个数组复制到主机,我该怎么做?
EDIT1:我注意到每次运行新内核时,数组都会被重置。我不能使用该数组来保留下一个内核中使用的中间值。是否有可能以静态方式保留这些值?
EDIT2:在EDIT1问题的发生是因为我加载使用LoadKernelPTX多个内核。正确的方法是加载一次模块,然后从该模块构建多个内核。 (如https://github.com/kunzmi/managedCuda/wiki/CudaKernel所建议)这样,我可以在多个内核之间共享静态数组/变量。