zeroieme 发表于 2014-1-25 21:10:15

请教下,Mathematica并行有什么技巧。

我查到的资料是太零碎的小任务“打包”成若干个大任务。
但不适合我现在的情况。


我现在需要同时做300多个因式分解(N次)。为了不被最复杂的进程卡住,我想让复杂的多项式先计算。需要怎样排列它们呢?(用ByteCount估计计算量)

wayne 发表于 2014-1-25 23:49:50

楼主貌似不满足Mathematica的自动并行计算,想自己定义一个CPU调度策略.

你可以试试ParallelCombine 函数,结合 Method 选项. 原则上任务分的越细,越有利于负载均衡.

===
其实并行计算相关的函数我也没怎么正儿八经的用过,旨在交流, 如有不对之处,敬请指正...

zeroieme 发表于 2014-1-29 11:30:16

看说明 Method 好象适合所有并行函数。
但不知是错觉还是什么,达不到均衡负载的效果。

zeroieme 发表于 2014-1-29 11:36:56

本帖最后由 zeroieme 于 2014-1-29 11:40 编辑

4核*2通道

wayne 发表于 2014-1-29 11:58:47

Method -> "FinestGrained" 将任务划分到尽可能最小的粒度. 越多就越均衡, 但任务调度本身也会占资源, 所以还是让Mathematica自动调度就行了.
ParallelCombine - 1,Method -> "FinestGrained"]
页: [1]
查看完整版本: 请教下,Mathematica并行有什么技巧。