DistributeDefinitions

DistributeDefinitions[s1,s2,]

将符号 si 的所有定义分配给所有并行内核.

DistributeDefinitions["context`"]

分配指定上下文下的所有符号定义.

更多信息和选项

范例

打开所有单元关闭所有单元

基本范例  (2)

确保平行子内核已启动:

必须首先分配在子内核中使用的值:

会自动分配默认上下文中的符号:

范围  (5)

变量值:

函数:

上值:

属性:

分配当前上下文中所有符号的定义:

推广和延伸  (1)

已分配的定义所依赖的辅助定义也被自动分配:

属性和关系  (7)

DistributeDefinitions 会覆盖任何前面出现的值和属性:

通过清除该函数并且再次分配它,删除一个已分配的定义:

DistributeDefinitions 使用 ParallelEvaluate 来把定义传输给所有内核:

一个明确的 ParallelEvaluate 做同样的事情:

对新内核记录分配好的定义;ParallelEvaluate 的效果则不是:

对于高层次的并行命令,自动分配交互式定义的函数:

手动分配定义,并且禁止使用自动分配:

仅仅在子内核上具有值的符号不被分配:

在子内核上的值不改动:

一旦一个符号得到一个局部值,它将在下一次并行计算中被分配:

使用 ParallelNeeds 在所有并行内核上设置程序包:

使用 DistributeDefinitions 设置您自己的定义:

$DistributedDefinitions 给出了所有已分配定义的符号列表:

列表中还包括自动分配的符号:

可能存在的问题  (5)

并行内核上未知的一个函数可能导致串行计算:

在所有并行内核上定义函数:

现在在并行内核上计算该函数:

DistributeDefinitions 的使用并不会阻止定义的自动分配:

修改定义:

自动分配修改好的定义:

阻止定义的自动分配:

仅仅在子内核上定义的符号不会被自动分配:

当分配时,某些具有内部状态的对象可能无法有效工作:

重新在所有子内核中计算以获得更好的性能:

或者,在所有子内核上重新计算数据:

带有 ReadProtected 属性的符号定义不能被分发:

定义只在需要时分配;如果定义没有变化,则不再分配:

依然分配了这两个符号:

巧妙范例  (1)

快速可视化高斯素数:

Wolfram Research (2008),DistributeDefinitions,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DistributeDefinitions.html (更新于 2010 年).

文本

Wolfram Research (2008),DistributeDefinitions,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DistributeDefinitions.html (更新于 2010 年).

CMS

Wolfram 语言. 2008. "DistributeDefinitions." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2010. https://reference.wolfram.com/language/ref/DistributeDefinitions.html.

APA

Wolfram 语言. (2008). DistributeDefinitions. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DistributeDefinitions.html 年

BibTeX

@misc{reference.wolfram_2024_distributedefinitions, author="Wolfram Research", title="{DistributeDefinitions}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/DistributeDefinitions.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_distributedefinitions, organization={Wolfram Research}, title={DistributeDefinitions}, year={2010}, url={https://reference.wolfram.com/language/ref/DistributeDefinitions.html}, note=[Accessed: 21-November-2024 ]}