ParallelEvaluate
ParallelEvaluate[expr]
在所有并行内核上计算表达式 expr,并返回得到结果的列表.
ParallelEvaluate[expr,kernel]
在指定的并行内核上计算 expr.
ParallelEvaluate[expr,{ker1,ker2,…}]
在并行内核 keri 上计算 expr.
ParallelEvaluate[expr,kernels,h]
在返回结果之前将标头 h 封装在结果周围.
更多信息和选项
- ParallelEvaluate 有属性 HoldFirst.
- 可用 KernelObject(由 Kernels[] 返回)或内核的整数 ID(由 $KernelID 返回)指定内核. 也可以使用 All.
- 以下属性也可用于选择所有运行内核的一个子集:
-
All 所有内核 "CloudKernels" 所有云内核 "LinkKernels" 所有链接的内核 "LocalKernels" 本地运行的所有内核 "LWGKernels" 所有 LightweightGrid 内核 "OneKernelPerMachine" 每个不同的机器都有一个内核 "RemoteKernels" 远程机器上的所有内核 "SshKernels" 所有 SSH 内核 "WSTPServerKernels" 所有 WSTPServer 内核 - ParallelEvaluate 的 DistributedContexts 选项指定在开始计算之前,自动将哪些出现在 expr 中的符号的定义分配到所有可用的内核上.
- 默认情况下,DistributedContexts:>$DistributedContexts,同时 $DistributedContexts:=$Context,会将所有符号按当前情形下的定义进行分配,但不会分配从程序包中来的符号的定义.
范例
打开所有单元关闭所有单元范围 (9)
使用 ParallelEvaluate 在所有并行内核上执行初始化:
选项 (5)
DistributedContexts (5)
把 DistributedContexts 选项的值恢复到缺省值:
应用 (4)
属性和关系 (5)
ParallelEvaluate 在每个子内核上执行相同的计算:
Parallelize 把一个计算的每个部分分配到每个子内核:
通过设置 SeedRandom,产生相同的结果:
DistributeDefinitions 使用 ParallelEvaluate 把定义传输给所有内核:
一个显式的 ParallelEvaluate 执行同样的操作:
不记录 ParallelEvaluate 的效果:
ParallelNeeds 使用 ParallelEvaluate 在所有并行内核上运行 Needs:
ParallelEvaluate 自动分配使用的函数定义:
可能存在的问题 (2)
文本
Wolfram Research (2008),ParallelEvaluate,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParallelEvaluate.html (更新于 2020 年).
CMS
Wolfram 语言. 2008. "ParallelEvaluate." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/ParallelEvaluate.html.
APA
Wolfram 语言. (2008). ParallelEvaluate. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ParallelEvaluate.html 年