ParallelDo
ParallelDo[expr,{imax}]
并行计算 expr imax 次.
ParallelDo[expr,{i,imax}]
并行计算 expr,其中变量 i 连续采用1到 imax 的值 (步长1).
ParallelDo[expr,{i,imin,imax}]
从 i=imin 开始.
ParallelDo[expr,{i,imin,imax,di}]
用步长 di.
ParallelDo[expr,{i,{i1,i2,…}}]
用连续值 i1,i2, ….
ParallelDo[expr,{i,imin,imax},{j,jmin,jmax},…]
对于每个 i,在不同的 j 值上并行循环计算 expr.
更多信息和选项
- ParallelDo 是一个并行 Do,在不同内核和处理器间分配不同的 expr 计算.
- 如果副作用涉及共享变量,它们通常在 Do 的计算不相同.
- Parallelize[Do[expr,iter, …]] 等价于 ParallelDo[expr,iter,…].
- 可以给出下列选项:
-
Method Automatic 并行化粒度 DistributedContexts $DistributedContexts 用于将符号分配到并行计算的上下文 ProgressReporting $ProgressReporting 是否报告计算进度 - Method 选项指定要使用的并行化方法. 可能的设置包括:
-
"CoarsestGrained" 将计算分成与可用内核数量相同的段 "FinestGrained" 将计算分成最小的子单元 "EvaluationsPerKernel"->e 将计算分成每个内核最多 e 段 "ItemsPerEvaluation"->m 将计算分成每个内核最多 m 个子单元 Automatic 在总开销和负载平衡之间的折中 - Method->"CoarsestGrained" 适用于涉及许多子单元的计算,所有这些子单元都需要相同的时间. 该设置最大限度地减少开销,但不提供任何负载均衡.
- Method->"FinestGrained" 适用于涉及运算需要不同时间量的少数子单元的计算. 该设置会导致更高的开销,但最大化了负载均衡.
- DistributedContexts 选项指定出现在 expr 中的哪些符号在计算之前将其定义自动分发到所有可用内核.
- 设置 $DistributedContexts:=$Context,默认值为 DistributedContexts:>$DistributedContexts,该值分发当前上下文中所有符号的定义,但不分发程序包中的符号定义.
- ProgressReporting 选项指定是否报告并行计算的进度.
- 默认值为 ProgressReporting:>$ProgressReporting.
范例
打开所有单元关闭所有单元基本范例 (3)
选项 (9)
DistributedContexts (5)
恢复 DistributedContexts 选项的值为默认值:
ProgressReporting (2)
属性和关系 (2)
文本
Wolfram Research (2008),ParallelDo,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParallelDo.html (更新于 2021 年).
CMS
Wolfram 语言. 2008. "ParallelDo." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/ParallelDo.html.
APA
Wolfram 语言. (2008). ParallelDo. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ParallelDo.html 年