作者hoshinouta (hoshinouta)
看板MATLAB
标题[问题]用於GPU运算之arrayfun和global用法
时间Tue Jan 19 14:45:43 2016
主程式:
global DS1 DS2...
[AA,BB]=meshgrid(nu1_all,nu2_all);
C=arrayfun(@fun,AA,BB,'UniformOutput',true);
nu1_all和nu2_all是长度1001的array
C是1001*1001组成的2D平面
global都是2维的值
副函式:
function C=fun(nu1,nu2)
global DS1 DS2...
...
end
以上没有使用gpu计算是可行的
将全部参数都用gpuArray转到gpu上去算的时候global却不能让fun读到,有错误
fun输出的C要用到global的值才能算出,同时主程式也要用到global
如果不用global,副函式要一一输入global的值吗?
global的值在使用arrayfun时不改变
请问有甚麽解决办法?
使用for跑的模拟都跑好久
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.105.132.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1453185945.A.366.html
1F:→ hoshinouta: 想询问有无其他GPU运算的资料,谢谢! 01/19 14:53