我正在尝试学习如何使用MPICH2进行并行编程。我已经使用虚拟盒成功建立了一个虚拟集群,该虚拟集拥有一个主服务器和3个从服务器。所有都有4核心cpu。当我尝试在-np 4的单台机器上运行程序并打印MPI_COMM_WORLD输出时,它显示4,这是正常的,因为有4个进程。但是当在带有-np 4 -f主机的集群上启动时,MPI_COMM_WORLD的输出仍为4,我猜它应该是16,因为4台机器上有4个进程。
有人可以解释我做错了什么吗? MPI是否在每台机器上启动相同的程序,或者只是并行代码启动的部分。
答案 0 :(得分:2)
-np <np>
specify the number of processors to run on
如果要为每个节点使用4个节点和4个进程,则应使用-np 16
。