我想在单核电脑上运行并行代码,使用核心i7 CPU我可以编译我的代码,但运行时遇到问题。在单台计算机上执行MPI并行程序
我用mpicxx编译我的代码,当我通过“mpirun -np 8 ./a.out”运行它时,只有一个进程是。我的操作系统是linux ubuntu 11.04。
工作我必须做什么?
比如我要运行该代码:
#include <iostream>
#include <mpi.h>
using namespace std;
int main(int argc, char **argv)
{
int mynode, totalnodes;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);
MPI_Comm_rank(MPI_COMM_WORLD, &mynode);
cout << "Hello world from process " << mynode;
cout << " of " << totalnodes << endl;
MPI_Finalize();
}
我用MPICH2用的mpirun --version:1.3.1
你应该告诉我们你正在运行的是什么版本的MPI。 – akappa
另外您正在使用的是mpich2的版本。他们在1.2和1.3之间将流程管理器从MPD改为Hydra,因此有关如何启动并行应用程序的详细信息发生了变化。你可以看到它正在运行mpirun --version。 – akappa
“假设”?呃,你的特定版本有这个问题。在最新版本中,您应该使用mpiexec和正确定义的机器文件。 – akappa