找回密码
 欢迎注册
查看: 23457|回复: 5

[讨论] 请教下,Mathematica并行有什么技巧。

[复制链接]
发表于 2014-1-25 21:10:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

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


我现在需要同时做300多个因式分解(N次)。为了不被最复杂的进程卡住,我想让复杂的多项式先计算。需要怎样排列它们呢?(用ByteCount估计计算量)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-1-25 23:49:50 | 显示全部楼层
楼主貌似不满足Mathematica的自动并行计算,想自己定义一个CPU调度策略.

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

===
其实并行计算相关的函数我也没怎么正儿八经的用过,旨在交流, 如有不对之处,敬请指正...
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2014-1-29 11:30:16 | 显示全部楼层
看说明 Method 好象适合所有并行函数。
但不知是错觉还是什么,达不到均衡负载的效果。

点评

你的电脑有几个CPU  发表于 2014-1-29 11:34
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2014-1-29 11:36:56 | 显示全部楼层
本帖最后由 zeroieme 于 2014-1-29 11:40 编辑

4核*2通道
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
回复

使用道具 举报

发表于 2014-1-29 11:58:47 | 显示全部楼层
Method -> "FinestGrained" 将任务划分到尽可能最小的粒度. 越多就越均衡, 但任务调度本身也会占资源, 所以还是让Mathematica自动调度就行了.
  1. ParallelCombine[Factor, x^Range[100, 2000] - 1,  Method -> "FinestGrained"]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-24 11:19 , Processed in 0.027216 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表