rev*_*ary 8 mpi openmpi docker docker-compose docker-swarm
我已经基于Ubuntu 16.04创建了一个docker镜像,并且具有运行MPI所需的所有依赖项.
它在docker-hub上公开:https://hub.docker.com/r/orwel84/ubuntu-16-mpi/
我用这个图像来创建一个MPI容器.我还可以编译一个简单的mpi-hello-world.c(它位于容器内)并用mpirun运行它.
这些是我使用的步骤,(如果你安装了Docker,你也可以重现它们):
docker run -it orwel84/ubuntu-16-mpi bashmpirun -np 4 --allow-run-as-root ./mpi_hello_world你会看到输出:
Hello world from processor 6f9b11cef939, rank 0 out of 4 processors
Hello world from processor 6f9b11cef939, rank 1 out of 4 processors
Hello world from processor 6f9b11cef939, rank 2 out of 4 processors
Hello world from processor 6f9b11cef939, rank 3 out of 4 processors
Run Code Online (Sandbox Code Playgroud)
题:
现在所有上述四个mpi进程都在一个容器内运行.
如何在单个主机上使用mpirun在多个容器上运行?还有我如何使用Docker swarm在swarm的多个节点上运行?
请帮忙.谢谢.
对于一台机器中的多个容器:
1.您可以在一台主机上创建多个容器并检查它们的IP地址(在docker桥接网络下)。
docker inspect -f "{{ .NetworkSettings.IPAddress }}" containerName
Run Code Online (Sandbox Code Playgroud)
2. 现在附加到其中一个容器并创建一个主机文件,列出您已创建的容器的 IP 地址。
3.现在运行应用程序:
mpirun -np 4 -hostfile hostfile_you_created ./mpi_hello_world
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4639 次 |
| 最近记录: |