first commit

This commit is contained in:
2020-02-29 02:21:45 -07:00
commit a3b893f971
42 changed files with 1424 additions and 0 deletions

70
example/cubeICN.cpp Normal file
View File

@@ -0,0 +1,70 @@
#include <iostream>
#include <mpi.h>
#include <unistd.h>
#include <stdlib.h>
//#include "/usr/local/include/mpi.h"
#define MCW MPI_COMM_WORLD
using namespace std;
void allPrint(int data){
int array[64];
int rank, size;
MPI_Comm_rank(MCW, &rank);
MPI_Comm_size(MCW, &size);
MPI_Gather(&data,1,MPI_INT,array,1,MPI_INT,0,MCW);
if(!rank){
for(int i=0;i<size;++i)cout<<i<<" ";
cout<<endl;
for(int i=0;i<size;++i)cout<<array[i]<<" ";
cout<<endl;
}
return;
}
void cube(int f, int *data){
int rank, size;
int dest;
int mask=1;
mask <<= f;
MPI_Comm_rank(MCW, &rank);
MPI_Comm_size(MCW, &size);
dest = rank ^ mask;
MPI_Send(data,1,MPI_INT,dest,0,MCW);
MPI_Recv(data,1,MPI_INT,MPI_ANY_SOURCE,0,MCW,MPI_STATUS_IGNORE);
return;
}
int main(int argc, char **argv){
int rank, size;
int data;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MCW, &rank);
MPI_Comm_size(MCW, &size);
data = rank;
allPrint(data);
cube(2,&data);
cout<<endl;
allPrint(data);
MPI_Finalize();
return 0;
}