//MPI_Isend
/*
#include "mpi.h"
#include
using namespace std;
int main(int argc, char **argv)
{
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
int tag1 = 7, tag2 = 17;
int sendMessage=0, recvMessage=0;
MPI_Request sendReq;
MPI_Status status;
if (rank == 1) {
sendMessage = 7;
MPI_Isend(&sendMessage, 1, MPI_INT, 2, tag1, MPI_COMM_WORLD, &sendReq);
MPI_Recv(&recvMessage, 1, MPI_INT, 2, tag2, MPI_COMM_WORLD, &status);
//MPI_Wait(&sendReq, &status);
}
else if (rank == 2){
sendMessage = 14;
MPI_Isend(&sendMessage, 1, MPI_INT, 1, tag2, MPI_COMM_WORLD, &sendReq);
MPI_Recv(&recvMessage, 1, MPI_INT, 1, tag1, MPI_COMM_WORLD, &status);
//MPI_Wait(&sendReq, &status);
}
cout<<"jarayon:"<
MPI_Finalize();
return 0;
}
*/
//MPI_Irecv
/*
#include "mpi.h"
#include
using namespace std;
int main(int argc, char** argv)
{
int rank, size;
MPI_Request request;
MPI_Status status;
double a=0.0;
int b=0;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
if (rank==1){
a=3.7;
MPI_Irecv(&a, 1, MPI_DOUBLE, 2, 22, MPI_COMM_WORLD, &request);
MPI_Send(&b, 1, MPI_INT, 2, 10, MPI_COMM_WORLD);
//MPI_Wait(&request, &status);
}
else
if(rank == 2){
b=17;
MPI_Irecv(&b, 1, MPI_INT, 1, 10, MPI_COMM_WORLD, &request);
MPI_Send(&a, 1, MPI_DOUBLE, 1, 22, MPI_COMM_WORLD);
//MPI_Wait(&request, &status);
}
cout<<"Jarayon:"<
MPI_Finalize();
}
*/
|