找大神问一下,mathematical可以并行运算吗
mathematica吧
全部回复
仅看楼主
level 6
暮之寒之 楼主
找大神问一下,mathematical可以并行运算吗
2016年11月29日 03点11分 1
level 7
如果你是指并行地计算, 可以看看 Parallelize 及相关函数, Mathematica支持配置集群Kernel, 实现简单的并行计算
如果是想做真正意义上的高性能计算, 还是去学习学习MPI, Hadoop, GPGPU之类的东西吧
2016年11月29日 03点11分 2
好的。谢谢了
2016年11月29日 07点11分
level 6
可以的。我研究过一阵,不过太复杂了,变量要在内核之间进行传递,而且要提前声明。
可以参考:
reference.mmascript.com/language/guide/ResourceSharingInParallelComputing.html
后来我果断放弃了。现在比较成熟的玩法是分布式,一次完整的计算由一个内核处理,下次由负载均衡器分发给别的内核,我就是这么玩的。
2016年11月29日 04点11分 3
谢谢,我也是刚接触mathematical,因为是要对一个矩阵里面的每个元素进行积分,而每个元素单独积分就需要很长时间,就是想着能不能并行运算,提高一下计算效率
2016年11月29日 06点11分
@暮之寒之 如果矩阵里面的每个积分运算 不依赖其他元素的积分结果,那么就可以拆分计算,最后合并成完整的矩阵。如果依赖,那么没有好的解决办法。
2016年11月29日 07点11分
@王胖子吃火锅 可以拆开积分,每个积分都是独立的,但就是1200*1200的矩阵,也就是需要进行1440000次积分,计算效率太低,一个积分就需要5minutes,算下来需要很长世间
2016年11月29日 07点11分
@暮之寒之 那就可以了。用分布式计算就行,方法就是我上面说的那样。 比如用100个内核算,每一个核算14400次,最后汇总。时间是单核的1/100。核越多时间越短,不过首先看你机器受不受得了。。。[呵呵]
2016年11月29日 08点11分
1