产品
产品概览
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
>
系统界面与配置
>
并行计算
>
并行计算中的资源共享
>
SetSharedVariable
>
Mathematica
>
核心语言
>
调整和调试
>
并行计算
>
并行计算中的资源共享
>
SetSharedVariable
>
MATHEMATICA 内置符号
$SharedVariables
UnsetShared
SetSharedFunction
DistributeDefinitions
OwnValues
参见 »
|
并行性
并行计算安装和配置
并行计算
并行计算中的资源共享
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 系统界面和配置
更多关于 »
SetSharedVariable
SetSharedVariable
声明符号
作为一个共享变量,它的值在所有并行内核中是同步的.
更多信息
一个共享变量的唯一值可以通过主核以及每次通过主核的同步并行子核得到.
没有一个值的共享变量计算得到
Null
.
范例
关闭所有单元
例
(1)
令
xs
为一个(全局)共享变量:
每个子内核增加了(全局)共享变量的值:
如果不共享的话,每个子内核具有自己的变量的(本地)备份:
令
xs
为一个(全局)共享变量:
In[1]:=
每个子内核增加了(全局)共享变量的值:
In[2]:=
Out[2]=
In[3]:=
Out[3]=
如果不共享的话,每个子内核具有自己的变量的(本地)备份:
In[4]:=
In[5]:=
Out[5]=
In[6]:=
Out[6]=
范围
(4)
共享单个值:
有效访问一个共享列表的单个元素:
把一个新的值赋给一个共享变量:
仅保留最后执行的赋值:
改变共享列表的单个元素:
更新一个共享变量的值:
添加到一个共享列表:
添加到一个共享列表的一个元素中:
推广和延伸
(1)
在主内核上定义的延迟值在主内核上进行计算:
在子内核上定义的延迟值在需要值的内核上进行计算:
应用
(5)
使用共享变量来同步化一个无限搜索中的输入和输出:
求使得
为素数的
,直到计算被手动退出:
使用一个共享变量来预示一旦找到一个素数所有计算停止:
使用一个共享变量来分配要进行的任务:
监控计算过程,对主要的计算步骤进行计数:
一旦找到,即返回结果:
查看实时出现的结果:
属性和关系
(1)
$KernelCount
是一个有效的共享变量:
可能存在的问题
(1)
分别进行读写操作对于线程不是安全的:
对于同步化,使用原子更新(atomic updates):
或者,使用
CriticalSection
使整个代码片段原子化:
参见
$SharedVariables
UnsetShared
SetSharedFunction
DistributeDefinitions
OwnValues
更多关于
并行性
并行计算安装和配置
并行计算
并行计算中的资源共享
7.0版本的新功能概要
7.0的新功能: 字母列表
7.0的新功能: 系统界面和配置
版本 7 的新功能