Mathematica 下的并行计算能够大大提高运行的效率, 那在这以小节内, 让我们来看看它的并行计算如何进行的.
首页 > 大数据 > 数据分析 > Mathematica 下的并行计算
Mathematica 下的并行计算能够大大提高运行的效率, 那在这以小节内, 让我们来看看它的并行计算如何进行的.
Parallelize 应该是我们喜欢的函数了, 不必考虑过多的细节, 直接用此并行函数将我们要计算的表达式进行封装, 软件就会自动将其并行自动化. 比如来看下面的代码之中, Parallelize 将一个 Map 封装. 但其实完全可以用 ParallelMap 来实现相同的计算.
于此类似类似, 我们可以直接进行并行计算的还有 ParallelTable , ParallelSum 等, 如下图的命令所示那样, 很多命令是不是看起来都很熟悉呢? 如果你想要并行计算的命令不再此类, 那 Parallelize 进行封装就是很好方式.
Parallelize 应用非常简单, 不过在很多情况下并行计算变得行不通, 那软件也会放弃用并行, 自动转而去用普通的方式. 比如下面的积分, 就会提示我们数用的串行计算.
还有一点需要注意的, 并行计算中经常忽略的地方, 就是某些变量和自定义的函数, 我们需要给出声明为共享变量, 这样程序才能给出正确的运行[1]. 当声明 primes 为共享变量后, 程序返回正确的结果. 先来看变量的例子, 我们在看看共享函数的例子.
还有一个技巧就是我们可以查看内核的运行情况, 不过我们需要运行 Parallel`Developer`KernelStatus[] 这个命令.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/451616/viewspace-1110960/ ,如需转载,请注明出处,否则将追究法律责任。