将排名文件与 OpenMPI 结合使用
Using rankfiles with OpenMPI
我正在尝试在集群中使用 MPI,并希望能够控制在哪些节点中安排哪些等级。
注意:我使用的是 OpenMPI 2.1.0。
为此,我正在使用排名文件。如果我使用以下排名文件:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ cat rankfile
rank 0=localhost slots=1
rank 1=54.153.103.12 slots=1
我得到:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ mpirun -v -np 1 -rankfile rankfile hostname
--------------------------------------------------------------------------
The rankfile that was used claimed that a host was either not
allocated or oversubscribed its slots. Please review your rank-slot
assignments and your host allocation to ensure a proper match. Also,
some systems may require using full hostnames, such as
"host1.example.com" (instead of just plain "host1").
Host: ip-172-31-8-16
如果我在排名文件中只使用一个条目:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ cat rankfile
rank 0=localhost slots=1
我得到:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ mpirun -v -np 1 -rankfile rankfile hostname
--------------------------------------------------------------------------
All nodes which are allocated for this job are already filled.
我已经尝试了所有我能想到的方法(例如,安装 MPI 的其他发行版并在 rankfile 中尝试不同的选项)但未能成功。
有什么想法吗?
我设法通过将 localhost
传递为 hostname
来创建您的错误。但是当我使用实际的系统名称时,我设法 运行 它。
rank X=myPC slot=Y
我相信 Open MPI 会探测主机名并执行 gethostname 调用。
我正在尝试在集群中使用 MPI,并希望能够控制在哪些节点中安排哪些等级。
注意:我使用的是 OpenMPI 2.1.0。
为此,我正在使用排名文件。如果我使用以下排名文件:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ cat rankfile
rank 0=localhost slots=1
rank 1=54.153.103.12 slots=1
我得到:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ mpirun -v -np 1 -rankfile rankfile hostname
--------------------------------------------------------------------------
The rankfile that was used claimed that a host was either not
allocated or oversubscribed its slots. Please review your rank-slot
assignments and your host allocation to ensure a proper match. Also,
some systems may require using full hostnames, such as
"host1.example.com" (instead of just plain "host1").
Host: ip-172-31-8-16
如果我在排名文件中只使用一个条目:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ cat rankfile
rank 0=localhost slots=1
我得到:
ubuntu@ip-172-31-8-16:~/dist_log_reg$ mpirun -v -np 1 -rankfile rankfile hostname
--------------------------------------------------------------------------
All nodes which are allocated for this job are already filled.
我已经尝试了所有我能想到的方法(例如,安装 MPI 的其他发行版并在 rankfile 中尝试不同的选项)但未能成功。
有什么想法吗?
我设法通过将 localhost
传递为 hostname
来创建您的错误。但是当我使用实际的系统名称时,我设法 运行 它。
rank X=myPC slot=Y
我相信 Open MPI 会探测主机名并执行 gethostname 调用。