Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia 使用-L标志和addprocs脚本是否是-p和--machinefile的更强大版本?_Julia_Distributed Computing_Compiler Flags - Fatal编程技术网

Julia 使用-L标志和addprocs脚本是否是-p和--machinefile的更强大版本?

Julia 使用-L标志和addprocs脚本是否是-p和--machinefile的更强大版本?,julia,distributed-computing,compiler-flags,Julia,Distributed Computing,Compiler Flags,因此,我对我的工作流程有一组中等复杂的要求。 我想使用主从拓扑和非默认工作目录。 我还想混合本地和远程工作人员 就我所知,通过准备的--machine file部分可以看出。 它不会让我这么做的 所以我在看-L julia-h … -五十、 --立即在所有处理器上加载 因此,如果我不使用-p或--machine file`标志,那么最初只有一个处理器,因此所有处理器都只意味着在唯一的处理器上 所以我试过了 启动_workers.jl test.jl 运行它: 看来一切都很好,我有20个工人。

因此,我对我的工作流程有一组中等复杂的要求。 我想使用主从拓扑和非默认工作目录。 我还想混合本地和远程工作人员

就我所知,通过准备的
--machine file
部分可以看出。 它不会让我这么做的

所以我在看
-L julia-h

-五十、 --立即在所有处理器上加载

因此,如果我不使用
-p
或--machine file`标志,那么最初只有一个处理器,因此所有处理器都只意味着在唯一的处理器上

所以我试过了

启动_workers.jl test.jl 运行它: 看来一切都很好,我有20个工人。
我做过什么不合理的事吗?这是最好的方法吗?

这正是我在Torque scheduler下在HPC集群上部署它的方式。事实上,我正在重新编写集群管理器,以便在通过Torque调度系统添加进程时支持更多选项,所以我花了很多时间研究这个问题

您可能还想知道,有各种ClusterManager,
Pkg.add(“ClusterManager”)
可以在各种环境下扩展addprocs的功能,例如当您需要从调度器请求资源时。看起来您可以使用无密码ssh,因此在您的情况下,默认集群管理器就足够了

我认为没有任何方法可以在命令行上定义额外的拓扑和目录参数,因此您的方法是正确的

addprocs([
          ("cluster_c4_1",:auto),
          ("cluster_c4_2",:auto)
    ],
        dir="/mnt/",
        topology=:master_slave
        )

addprocs(
        dir="/mnt/",
        topology=:master_slave
        )
println("*************")
println(workers())
println("-------------")
>julia -L start_workers.jl pl.jl 
*************
[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]
-------------