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