请教一下怎么在集群上多节点并行?如果我直接通过命令
julia -p 40 task.jl
运行任务,启动的进程都是在同一个节点上的,文档中说通过"–machine-file"启动,然后我试了一下
julia --machine-file $LSB_DJOB_HOSTFILE task.jl"
返回了一堆ssh错误。现在在看MPI.jl,还不是很明白,有人能详细点介绍一下吗?
请教一下怎么在集群上多节点并行?如果我直接通过命令
julia -p 40 task.jl
运行任务,启动的进程都是在同一个节点上的,文档中说通过"–machine-file"启动,然后我试了一下
julia --machine-file $LSB_DJOB_HOSTFILE task.jl"
返回了一堆ssh错误。现在在看MPI.jl,还不是很明白,有人能详细点介绍一下吗?
执行 julia -p
的时候,默认是使用的 LocalMangager, 而执行julia --machine-file
的时候,采用的是SSHManager, 需要host机器能通过无密码ssh登陆到worker机器上,可以参考下
https://docs.juliacn.com/latest/manual/parallel-computing/#LocalManager-和-SSHManager-的网络要求-1
还有问题可以把报错信息贴出来,我之前也是遇到过一些莫名其妙的问题。
就是启动时 julia --machine-file xxx.jl 就可以了,不知道昨天集群抽了什么风
如果你的集群有slurm,pbs这一类的集群管理系统,你需要使用cluster manager来spawn进程(这个文档里就有,在最后有一个包叫这个),而不是无密码的ssh,因为管理员一般不会允许你无密码ssh。
我集群是lsf管理系统,不同节点间可以无密码ssh,所以启动时加个–machine-file就没什么问题了