产品
产品概览
Mathematica
Mathematica 学生版
Mathematica Home Edition
Wolfram
CDF Player
(免费下载)
可计算文档格式(CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Mathematica
附加程序包
Wolfram|Alpha 产品
解决方案
解决方案概览
工程
航空航天与国防
化学工程
控制系统
电气工程
图像处理
工业工程
材料科学
机械工程
运筹学
光学
石油工程
生物技术与医药
生物信息学
医学影像
金融、统计、商业分析
精算科学
数据分析与挖掘
计量经济学
经济学
金融工程与数学
金融风险管理
统计
软件工程、内容传递
创作与出版
界面开发
软件工程
网页开发
科学
天文学
生物科学
化学
环境科学
地球科学
社会与行为科学
设计、艺术以及娱乐
游戏设计、特殊效果及衍生艺术
教育
STEM 教育倡议
高等教育
高职高专院校
中小学教育
学生
科技
可计算文档格式(CDF)
高性能并行计算(HPC)
参见:技术指南
购买
网上商店
其它购买方式
批量许可及站点许可证
联络销售部
软件
服务
升级
培训
书籍
技术支持
技术支持概览
知识库
学习中心
社区与论坛
培训
确认授权
Wolfram 用户门户
公司概况
关于 Wolfram Research
新闻与活动
Wolfram 博客
合作伙伴
工作机会
Mathematica
的历史
Stephen Wolfram 主页
联系我们
公司网站
全部站点
Wolfram|Alpha
演示项目
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
系统界面与配置
>
并行计算
>
ParallelTry
>
Mathematica
>
核心语言
>
调整和调试
>
并行计算
>
ParallelTry
>
MATHEMATICA 内置符号
ParallelMap
Parallelize
WaitNext
$KernelCount
参见 »
|
并行计算
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 核心语言
7.0的新功能: 系统界面和配置
更多关于 »
ParallelTry
ParallelTry
并行计算
,返回第一个结果.
ParallelTry
返回前
k
个结果的列表.
更多信息
ParallelTry
在不同的内核和处理器之间自动分配计算.
在产生
k
个结果后,任何进行的计算将取消.
如果另一个
的计算结果是
$Failed
,则它被忽略.
如果没有得到结果,而不是
$Failed
,
ParallelTry
返回
$Failed
.
ParallelTry
将
的计算分配到不同内核和处理器上,从
开始.
如果
的数量多于内核数量,则不计算某些
,除非之前的一些参数返回
$Failed
.
ParallelTry
采用的
DistributedContexts
选项与
ParallelTable
相同.
范例
关闭所有单元
例
(2)
求出易于因子分解的一个数的因式分解:
求出给出范围的一个素数:
求出易于因子分解的一个数的因式分解:
In[1]:=
Out[1]=
求出给出范围的一个素数:
In[1]:=
Out[1]=
范围
(2)
返回前两个连续结果:
如果没有求出连续结果,
ParallelTry
返回
$Failed
:
选项
(5)
默认情况下,当前上下文的定义会自动分配:
没有分配任何函数的定义:
分配出现在并行计算中的所有上下文中的符号定义:
只分配给定上下文的定义:
恢复
DistributedContexts
选项的值为默认值:
应用
(5)
并行求出一个随机素数:
使用每个并行内核上的一个随机搜索,求解一个不可约多项式:
从一个给的的素数指数开始,搜索一个 Mersenne 素数:
尝试不同的方法最小化,返回成功的第一个:
尝试求和的不同符号方法,并且返回成功的第一个:
在这种情况下,只有一种方法成功:
属性和关系
(5)
ParallelTry
通常返回收到的第一个成功的结果:
ParallelTry
与
ParallelMap
工作方式相似,但是只返回一个结果:
ParallelTry
实质上以
WaitNext
的形式执行:
当需要时,互动式定义的函数自动分配到所有内核:
手动分配定义且禁止自动分配:
对于来自于程序包的函数,使用
ParallelNeeds
而不是
DistributeDefinitions
:
可能存在的问题
(3)
如果表达式比内核多,那么有些表达式将不会被尝试:
在并行内核上未知的函数将导致并行计算:
在所有并行内核上定义该函数:
现在,该函数在并行内核上进行计算:
在当前上下文的函数定义自动分配:
不是来自于默认上下文的定义不会自动分配:
使用
DistributeDefinitions
分配这样的定义:
或者,设置
DistributedContexts
选项包括所有的上下文:
参见
ParallelMap
Parallelize
WaitNext
$KernelCount
更多关于
并行计算
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 核心语言
7.0的新功能: 系统界面和配置
版本 7 的新功能 | 版本 8 修改功能