[問題]用於GPU運算之arrayfun和global用法

作者: hoshinouta (hoshinouta)   2016-01-19 14:45:43
主程式:
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跑的模擬都跑好久
作者: hoshinouta (hoshinouta)   2016-01-19 14:53:00
想詢問有無其他GPU運算的資料,謝謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com