PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Mathematica
[問題] 平行運算 ParallelTable
作者:
Absolitude
(別再睡了起床了愛麗)
2016-04-02 16:27:13
最近遇到計算量較大的問題,想使用Mathematica的平行運算功能節省時間
原本以為直接把Table換成ParallelTable就可以了,但是事情似乎沒這麼簡單
比方說產生隨機變數的時候ParallelTable會顯示一些不存在的錯誤
這還不是甚麼大問題,反正還是算得出一樣的答案,但其他的函數就會有沒辦法計算的
狀況,像是我的Table裡有內插函數就會卡住無法計算
改成ParallelDo也遇到相同的狀況
請問使用平行運算的時候需要注意哪些問題,謝謝
作者:
AmibaGelos
(Amiba Gelos)
2016-04-02 20:48:00
沒測試純猜測:你的DistributedContexts沒設可以改成Automatic,預設好像是只會把Context裡的分享然後第一個是因為它先讀local變數(所以無法執行)然後再去讀主kernal的變數的關係然後怕沒傳到子kernal的話可以用DistributedDefine
作者:
Absolitude
(別再睡了起床了愛麗)
2016-04-02 21:36:00
謝謝,第一個問題解決了!DistributedContexts 是第七版之後才有的函數嗎? 剛剛大概查一下好像沒有
作者:
AmibaGelos
(Amiba Gelos)
2016-04-02 21:56:00
我的是9,建議最好還是手動把def.都傳到子kernal上
作者:
Absolitude
(別再睡了起床了愛麗)
2016-04-02 22:10:00
我使用DistributeDefinitions["Global`"]把變數都傳到子kernal了,但是內插函數是每一次運算時才分別被定義,也不用(或者說不行)分享給其他kernal這樣是DistributedContexts的問題嗎?查到的這個函數的意思好像是把定義分享給其他kernal
作者:
AmibaGelos
(Amiba Gelos)
2016-04-02 23:26:00
g=InverseErf[2RandomReal[]-1]&;DistributeDefinitios[g];ParallelDo[Interpolation[Array[g,9]]//Plot[#[x],{x,1,9}]&//Print,{8}] 你試試看這個.我是沒問題的
作者:
Absolitude
(別再睡了起床了愛麗)
2016-04-03 17:57:00
沒問題! 不過比方說要是在ParallelTable裡再建Table或Sum 或用Do進行大量相加都會出問題
繼續閱讀
[問題] 求微分
sajp
Re: [問題] 把不同組數據匯集在一起
Frobenius
[問題] 把不同組數據匯集在一起
qazwsx150
Tiny planet
chungyuandye
[問題] NDsolveValue 出錯
tiger790815
[心得] 簡單的樂秀評估程式 (有重覆號碼問題)
pig030
[請益] 關於化簡
bonus1123
[問題] 方程式準確性
a29788685
[問題] 如何繪製2D參數區域
aortic
[問題] Mathematica 轉成 Matlab 的 codes
chopriabin
Links
booklink
Contact Us: admin [ a t ] ucptt.com