产品
产品概览
Mathematica
Mathematica 学生版
Mathematica Home Edition
Wolfram
CDF Player
(免费下载)
可计算文档格式(CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
附加程序包
Wolfram|Alpha 产品
解决方案
解决方案概览
工程
航空航天与国防
化学工程
控制系统
电气工程
图像处理
工业工程
材料科学
机械工程
运筹学
光学
石油工程
生物技术与医药
生物信息学
医学影像
金融、统计、商业分析
精算科学
数据分析与挖掘
计量经济学
经济学
金融工程与数学
金融风险管理
统计
软件工程、内容传递
创作与出版
界面开发
软件工程
网页开发
科学
天文学
生物科学
化学
环境科学
地球科学
社会与行为科学
设计、艺术以及娱乐
游戏设计、特殊效果及衍生艺术
教育
STEM 教育倡议
高等教育
高职高专院校
中小学教育
学生
科技
可计算文档格式(CDF)
高性能并行计算(HPC)
参见:技术指南
购买
网上商店
其它购买方式
批量许可及站点许可证
联络销售部
软件
服务
升级
培训
书籍
Merchandise
技术支持
技术支持概览
Mathematica
参考资料
知识库
学习中心
技术服务
社区与论坛
培训
查看站点是否有许可证授权
Wolfram 用户门户
公司概况
关于 Wolfram Research
新闻与活动
Wolfram 博客
合作伙伴
工作机会
Mathematica
的历史
Stephen Wolfram 主页
联系我们
公司网站
全部站点
Wolfram|Alpha
演示项目
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
系统界面与配置
>
并行计算
>
数据并行化
>
ParallelTable
>
Mathematica
>
核心语言
>
调整和调试
>
并行计算
>
数据并行化
>
ParallelTable
>
MATHEMATICA 内置符号
Table
Parallelize
ParallelArray
ParallelTry
ParallelDo
ParallelSum
参见 »
|
数据并行化
并行计算
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 核心语言
7.0的新功能: 系统界面和配置
更多关于 »
ParallelTable
ParallelTable
并行产生
个
expr
列表.
ParallelTable
当
i
从 1 到
时,并行产生
expr
的值的列表.
ParallelTable
从
开始.
ParallelTable
用步长
di
.
ParallelTable
用连续值
,
,....
ParallelTable
给出一个嵌套列表,与
i
相关的列表在最外层.
更多信息
ParallelTable
是一个并行的
Table
, 在不同的内核和处理器之间自动分配
expr
的计算.
ParallelTable
将给出和
Table
相同的结果,除了计算中的副作用.
Parallelize
[
Table
[
expr
,
iter
,
...
]]
等价于
ParallelTable
.
对于不能并行化的
ParallelTable
,用
Table
执行计算.
ParallelTable
采用的
Method
选项和
Parallelize
相同.
ParallelTable
的
DistributedContexts
选项指定出现在
expr
中的哪个符号在计算前自动把它们的定义分配到所有可用的内核.
默认值是
DistributedContexts
:>
$DistributedContexts
,其中
$DistributedContexts
:=
$Context
,分配当前上下文的所有符号的定义,但是不分配来自于程序包的定义.
范例
关闭所有单元
例
(5)
ParallelTable
与
Table
工作方式相似,不同之处在于并行:
具有前10个平方数的列表:
以下表格中
i
从0到20,步进为2:
生成一个4×3矩阵:
绘制一个表格:
ParallelTable
与
Table
工作方式相似,不同之处在于并行:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
具有前10个平方数的列表:
In[1]:=
Out[1]=
以下表格中
i
从0到20,步进为2:
In[1]:=
Out[1]=
生成一个4×3矩阵:
In[1]:=
Out[1]=
In[2]:=
Out[2]//MatrixForm=
绘制一个表格:
In[1]:=
Out[1]=
范围
(5)
表格中的索引可以向后运行:
生成一个三角数组:
生成一个3x2x4数组,或者张量:
在一个现有的列表上迭代:
从现有的列表,生成一个数组:
推广和延伸
(1)
该列表的索引可以具有符号值:
选项
(11)
把计算分成最小可能的子单元:
把计算分成与可使用内核相同数目的子块:
对于整个任务,把计算分成最多每个内核2次计算:
把计算分成每次计算最多5个元素:
默认选项设置在计算规模和计算次数之间折中:
具有很大差异的运行时间的计算应该被尽可能精细地并行化处理:
大量简单计算应该被分配成尽可能少的批次:
默认情况下,当前上下文的定义会自动分配:
没有分配任何函数的定义:
分配出现在并行计算中的所有上下文中的符号定义:
只分配给定上下文的定义:
恢复
DistributedContexts
选项的值为默认值:
应用
(6)
对于许多初始条件,求解并且绘制一个微分方程,并且使用动画显示结果:
探索在两个空间维度上的正弦-Gordon方程的不同参数值:
对于相同的数据集合应用不同的算法:
对同一图像,应用具有不同过滤器的列表,并且显示结果:
或者应用一个效果列表:
从一个动画生成10个帧,并且把它们分别保存到单个文件中:
对成批作业并行处理:
每次运行返回一个帧,用于正确性检查:
删除生成的文件:
把不同语言所需的字长生成表格:
在一个网格中显示结果:
快速显示一些非平凡的元胞自动机的计算:
属性和关系
(10)
并行化在最外(第一个)索引出现:
使用多个迭代规格相当于嵌套
Table
函数:
ParallelDo
把表达式的相同序列作为
ParallelTable
计算:
ParallelSum
有效地把
Plus
应用到
ParallelTable
所得的结果:
ParallelArray
在一些连续整数上迭代:
Map
把一个函数应用于列表中的连续元素上:
Table
可以把列表中的连续元素替换到一个表达式中:
在一个给定列表中迭代的
ParallelTable
等价于
ParallelCombine
:
ParallelTable
可以通过使用
WaitAll
和
ParallelSubmit
实现:
一个多维列表的最内层的并行化处理:
当需要时,互动式定义的函数自动分配到所有内核:
手动分配定义且禁止自动分配:
对于来自于程序包的函数,使用
ParallelNeeds
而不是
DistributeDefinitions
:
可能存在的问题
(3)
并行内核上未知的函数可能导致串行计算:
在所有并行内核上定义该函数:
该函数现在在并行内核上计算:
在当前上下文的函数定义自动分配:
不是来自于默认上下文的定义不会自动分配:
使用
DistributeDefinitions
分配这样的定义:
或者,设置
DistributedContexts
选项包括所有的上下文:
当并行化处理时,平凡操作可能需要更长时间:
巧妙范例
(2)
可视化 Mandelbrot 集:
计算并且显示物流地图的 Feigenbaum (或者分岔)图:
参见
Table
Parallelize
ParallelArray
ParallelTry
ParallelDo
ParallelSum
更多关于
数据并行化
并行计算
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 核心语言
7.0的新功能: 系统界面和配置
版本 7 的新功能 | 版本 8 修改功能