我是新手在這裏..
我有我的代碼有問題,我不知道如何使MPI選擇題..
如果有2個功能過程中,
1 。處理一個
2.進程B
3.退出
「你想做什麼?答案:」
如果我跑我用1個備代碼(程序mpiexec -n 1),是沒有問題的。
但是,如果多個設備,它會得到錯誤。我想所有的'身份證'做這個過程..大師和奴隸。MPI多選
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &n);
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
MPI_Get_processor_name (namenode, &namelen);
int answer;
if(myid==0){
while(answer!=3){
cout<<"1.Process A"<<endl;
cout<<"2.Process B"<<endl;
cout<<"3.exit"<<endl;
cout<<"choose your answer: ";
cin>>answer;
if(answer==1){
function A;
}
else if(answer==2){
function B;
}
else {
}
}
}
謝謝..如果我的解釋不好,
你想達到什麼目的?代碼的其餘部分在哪裏?它有什麼作用?您向我們展示的片段不會調用MPI_Finalize,所以我並不感到驚訝,「它會得到錯誤」,我更驚訝它只在使用1個處理器時執行。通過控制檯查看具有用戶交互的MPI代碼是很少見的,大多數MPI安裝的默認配置是運行未連接到控制檯的程序。 – 2012-08-03 08:30:00
我忘了把MPI_Bcast .. 之前你的答案,我把MPI_Bcast裏面「如果(答案== 1或2)」.. 我以爲MPI_Bcast函數是廣播價值.. 我是新手在MPI ..感謝您的幫助..如果我有另一個問題,請再次幫助我 – Faris 2012-08-03 16:22:05