Mathematica > 系统界面与配置 > 并行计算 > ParallelTry >
Mathematica > 核心语言 > 调整和调试 > 并行计算 > ParallelTry >

ParallelTry

Updated In 8 Graphic
ParallelTry
并行计算 ,返回第一个结果.
ParallelTry
返回前 k 个结果的列表.
  • ParallelTry 在不同的内核和处理器之间自动分配计算.
  • 在产生 k 个结果后,任何进行的计算将取消.
  • 如果另一个 的计算结果是 $Failed,则它被忽略.
  • ParallelTry 的计算分配到不同内核和处理器上,从 开始.
  • 如果 的数量多于内核数量,则不计算某些 ,除非之前的一些参数返回 $Failed.
求出易于因子分解的一个数的因式分解:
求出给出范围的一个素数:
求出易于因子分解的一个数的因式分解:
In[1]:=
Click for copyable input
Out[1]=
 
求出给出范围的一个素数:
In[1]:=
Click for copyable input
Out[1]=
返回前两个连续结果:
如果没有求出连续结果,ParallelTry 返回 $Failed
默认情况下,当前上下文的定义会自动分配:
没有分配任何函数的定义:
分配出现在并行计算中的所有上下文中的符号定义:
只分配给定上下文的定义:
恢复 DistributedContexts 选项的值为默认值:
并行求出一个随机素数:
使用每个并行内核上的一个随机搜索,求解一个不可约多项式:
从一个给的的素数指数开始,搜索一个 Mersenne 素数:
尝试不同的方法最小化,返回成功的第一个:
尝试求和的不同符号方法,并且返回成功的第一个:
在这种情况下,只有一种方法成功:
ParallelTry 通常返回收到的第一个成功的结果:
ParallelTryParallelMap 工作方式相似,但是只返回一个结果:
ParallelTry 实质上以 WaitNext 的形式执行:
当需要时,互动式定义的函数自动分配到所有内核:
手动分配定义且禁止自动分配:
对于来自于程序包的函数,使用 ParallelNeeds 而不是 DistributeDefinitions
如果表达式比内核多,那么有些表达式将不会被尝试:
在并行内核上未知的函数将导致并行计算:
在所有并行内核上定义该函数:
现在,该函数在并行内核上进行计算:
在当前上下文的函数定义自动分配:
不是来自于默认上下文的定义不会自动分配:
使用 DistributeDefinitions 分配这样的定义:
或者,设置 DistributedContexts 选项包括所有的上下文:
版本 7 的新功能 | 版本 8 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF