関数とオブジェクトを使用してmatlabGPU コンピューティングを使用して、関数の変数の要素に対して要素ごとの関数を実行しています。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
ますか?