コード例 #1
0
ファイル: server.cpp プロジェクト: daisuke310vvv/Research
int main(int argc,char *argv[]){

	/* ----------------------------------------------------------- */
	// 同期通信クラスのインスタンス化
	/* ----------------------------------------------------------- */
	Communication *serverdata = new Communication(argc,argv);

	if(serverdata -> getMyrank() != 0){
		puts("server is not rank 0.");
		return 1;
	}else
		printf("I'm server. My rank is %d\n",serverdata->getMyrank());
	/* ----------------------------------------------------------- */



	/* ----------------------------------------------------------- */
	// ノードからの受信
	/* ----------------------------------------------------------- */
	//before(iNodenum) -> after(serverdata->getNodenum())
	printf("node num %d\n",serverdata->getNodenum());
	for(int i =0;i<serverdata->getNodenum()-1;i++){

		printf("received nodeRank %d\n",serverdata->procrankReceive());

	}
	/* ----------------------------------------------------------- */


	/* ----------------------------------------------------------- */
	// MPI_Barrier();
	// -> 全プロセスがこの関数を呼ぶまでブロック
	/* ----------------------------------------------------------- */
	MPI_Barrier(MPI_COMM_WORLD);
	/* ----------------------------------------------------------- */
	printf("end MPI_Barrier\n");


	/* ----------------------------------------------------------- */
	// デストラクト
	/* ----------------------------------------------------------- */
	delete (serverdata);
	serverdata = NULL;
	/* ----------------------------------------------------------- */

	return EXIT_SUCCESS;
}