我正在使用带有函数和对象的matlab GPU 计算对函数中变量的元素执行逐元素函数:arrayfun
gpuArray
gpuArray
[ output ] = MyFunc( element, SharedMatrix )
//
// Process element with Shared Matrix
//
end
我的代码是这样的:
SharedMatrix = magic(5000); %Large Memory Object
SharedMatrix = gpuArray(SharedMatrix);
elements = magic(5);
gpuElements = gpuArray(elements );
//Error on next line, SharedMatrix object must be a scaler.
result = arrayfun(@MyFunc,gpuElements,SharedMatrix);
我听说全局变量不能用于GPU 计算。
有没有办法这样做arrayfun
?