julia怎么在集群上多节点并行


#1

请教一下怎么在集群上多节点并行?如果我直接通过命令

julia -p 40 task.jl

运行任务,启动的进程都是在同一个节点上的,文档中说通过"–machine-file"启动,然后我试了一下

julia --machine-file $LSB_DJOB_HOSTFILE task.jl"

返回了一堆ssh错误。现在在看MPI.jl,还不是很明白,有人能详细点介绍一下吗?


#2

执行 julia -p的时候,默认是使用的 LocalMangager, 而执行julia --machine-file的时候,采用的是SSHManager, 需要host机器能通过无密码ssh登陆到worker机器上,可以参考下

https://docs.juliacn.com/latest/manual/parallel-computing/#LocalManager-和-SSHManager-的网络要求-1

还有问题可以把报错信息贴出来,我之前也是遇到过一些莫名其妙的问题。


#3

就是启动时 julia --machine-file xxx.jl 就可以了,不知道昨天集群抽了什么风:sweat_smile:


#4

如果你的集群有slurm,pbs这一类的集群管理系统,你需要使用cluster manager来spawn进程(这个文档里就有,在最后有一个包叫这个),而不是无密码的ssh,因为管理员一般不会允许你无密码ssh。


#5

我集群是lsf管理系统,不同节点间可以无密码ssh:joy:,所以启动时加个–machine-file就没什么问题了