ParallelTable
ParallelTable[expr,{imax}]
并行产生 imax 个 expr 列表.
ParallelTable[expr,{i,imax}]
当 i 从 1 到 imax 时,并行产生 expr 的值的列表.
ParallelTable[expr,{i,imin,imax}]
从 i=imin 开始.
ParallelTable[expr,{i,imin,imax,di}]
用步长 di.
ParallelTable[expr,{i,{i1,i2,…}}]
用连续值 i1,i2,….
ParallelTable[expr,{i,imin,imax},{j,jmin,jmax},…]
给出一个嵌套列表,与 i 相关的列表在最外层.
更多信息和选项
- ParallelTable 是一个并行的 Table, 在不同的内核和处理器之间自动分配 expr 的计算.
- ParallelTable 将给出和 Table 相同的结果,除了计算中的副作用.
- Parallelize[Table[expr,iter, …]] 等价于 ParallelTable[expr,iter,…].
- 对于不能并行化的 ParallelTable,用 Table 执行计算.
- 可以给出下列选项:
-
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.
范例
打开所有单元关闭所有单元基本范例 (6)
ParallelTable 与 Table 工作方式相似,不同之处在于并行:
选项 (13)
应用 (5)
属性和关系 (10)
使用多个迭代规范相当于嵌套 Table 函数:
ParallelDo 把表达式的相同序列作为 ParallelTable 计算:
ParallelSum 有效地把 Plus 应用到 ParallelTable 所得的结果:
ParallelArray 在一些连续整数上迭代:
Map 把一个函数应用于列表中的连续元素上:
Table 可以把列表中的连续元素替换到一个表达式中:
在一个给定列表中迭代的 ParallelTable 等价于 ParallelCombine:
ParallelTable 可以通过使用 WaitAll 和 ParallelSubmit 实现:
对于来自于程序包的函数,使用 ParallelNeeds 而不是 DistributeDefinitions:
可能存在的问题 (3)
使用 DistributeDefinitions 分配这样的定义:
或者,设置 DistributedContexts 选项包括所有的上下文:
文本
Wolfram Research (2008),ParallelTable,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParallelTable.html (更新于 2021 年).
CMS
Wolfram 语言. 2008. "ParallelTable." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/ParallelTable.html.
APA
Wolfram 语言. (2008). ParallelTable. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ParallelTable.html 年