朱莉娅:具有大量数据移动的并行For循环

布迪奥诺维奇

我想运行一个并行的for循环。我需要我的每个流程都可以访问2个大字典,gene_dict并且transcript_dict这是我首先尝试的

@everywhere( function EM ... end )

generefs  = [ @spawnat i genes for i in 2:nprocs()]
dict1refs = [ @spawnat i gene_dict for i in 2:nprocs()]
dict2refs = [ @spawnat i transcript_dict for i in 2:nprocs()]

result = @parallel (vcat) for i in 1:length(genes)
  EM(genes[i], gene_dict, transcript_dict)
end

但是我在所有进程上都遇到了以下错误(不仅是5个):

exception on 5: ERROR: genes not defined
 in anonymous at no file:1514
 in anonymous at multi.jl:1364
 in anonymous at multi.jl:820
 in run_work_thunk at multi.jl:593
 in run_work_thunk at multi.jl:602
 in anonymous at task.jl:6
UndefVarError(:genes)

我以为@spawnat会将我需要的三个数据结构移到所有流程中。我的第一个想法可能是此操作需要一段时间,并且并行for循环尝试在数据传输完成之前运行。

安德烈亚斯·诺阿克(Andreas Noack)

数据移动@spawnat但不绑定到与主节点上名称相同的变量。而是将数据保存在工作程序上相当隐蔽的Dict名称中Base.PGRP要访问值,你就必须fetchRemoteRef这你的情况会是这样,比如s

result = @parallel (vcat) for i in 1:length(genes) EM(fetch(genes[i]), fetch(gene_dict[i]), fetch(transcript_dict[i])) end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

朱莉娅:为什么参数类型必须具有外部构造函数?

来自分类Dev

朱莉娅遍历数据框的行

来自分类Dev

朱莉娅:pmap传递带有索引的向量

来自分类Dev

朱莉娅:并行构建多种类型

来自分类Dev

朱莉娅·杜夫(Julia Double)循环,遍历字典

来自分类Dev

朱莉娅:具有包含复合类型的元组键的字典

来自分类Dev

在朱莉娅重塑

来自分类Dev

与朱莉娅的表演。遍历布尔数据

来自分类Dev

朱莉娅平行两次减少循环

来自分类Dev

朱莉娅:还是没有

来自分类Dev

NetCDF在朱莉娅

来自分类Dev

朱莉娅(Julia)数据框,其中列是数组的数组?

来自分类Dev

朱莉娅:以循环宏为条件

来自分类Dev

朱莉娅没有价值

来自分类Dev

朱莉娅:我如何循环写和存储文件?

来自分类Dev

朱莉娅| 如何对TimeArray数据集执行线性回归

来自分类Dev

朱莉娅的弦

来自分类Dev

朱莉娅-检查对象具有属性

来自分类Dev

朱莉娅的移动平均线

来自分类Dev

朱莉娅:具有不同类型的数组的数组

来自分类Dev

朱莉娅-替换

来自分类Dev

朱莉娅:成对距离的嵌套循环真的很慢

来自分类Dev

朱莉娅-@spawn计算作业顺序而不是并行

来自分类Dev

朱莉娅(Julia)中带有突变操作的for循环多线程

来自分类Dev

朱莉娅:在协程之间传递数据(任务)

来自分类Dev

NetCDF在朱莉娅

来自分类Dev

朱莉娅:我如何循环写和存储文件?

来自分类Dev

打破朱莉娅的循环

来自分类Dev

朱莉娅:如何根据具有特定值的类型字段访问类型数组中的元素