公告:网站程序已升级到1.8.3,修复了提问时可能报错的问题,请清除浏览器缓存
2019-11-10

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
567 浏览
开启并行选项的编译过的同名函数和Parallel系列的同名函数实现方式是一样的么?可以达到一样/更优的速度么?
分类:列表操作 | 用户: EmberEdison (806 分)
想了很久,结论是差很远,Parallel系列的同名函数可以用模式匹配,编译的不行。编译过的代码(每一个函数都可编译)应该比Parallel系列的同名函数快?但是本身函数能够可编译就是一个少数情况
所以说这是两回事。可能同一个代码既能并行又能编译,可能就不适合并行也不适合编译。
MMA在编译上面的性能比各类Lisp相比差太多了。我缩小下问题范围吧。
得,想了想我还是自己答了结题得了
啥?Parallel是不需要开启并行选项的?

1个回答

0 投票
 
已采纳
可编译代码的限制本身就比较大,编译代码不能使用mma的大量方便的特性。

在假设一个代码适宜并行也可以编译的情况下应该是编译的比单用Parallel系列快,在不可编译的情况下则比较难说。
用户: EmberEdison (806 分)
采纳于 用户:EmberEdison
因为理论上我们个人计算机并行通常也就几个核心而已。也就是理论上最短并行计算时间是1/n原来的时间。但是在某些特殊条件下,例如集群,有几百个计算核心,配上合适的代码,那么并行加速也很猛的。或者纯数值计算的GPU并行。并行和编译是两码事,没有比较的意义。
...