我想在單核電腦上運行並行代碼,使用核心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