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

看板MATLAB作者 (hoshinouta)時間9年前 (2016/01/19 14:45), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
主程式: 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://www.ptt.cc/bbs/MATLAB/M.1453185945.A.366.html

01/19 14:53, , 1F
想詢問有無其他GPU運算的資料,謝謝!
01/19 14:53, 1F
文章代碼(AID): #1MdTkPDc (MATLAB)
文章代碼(AID): #1MdTkPDc (MATLAB)