Subject: CGAL users discussion list
List archive
- From: Julia Fischer <>
- To:
- Subject: [cgal-discuss] CGAl Volume
- Date: Wed, 2 Mar 2016 23:02:09 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:e3dQAR/tE2V1xf9uRHKM819IXTAuvvDOBiVQ1KB91uocTK2v8tzYMVDF4r011RmSDdqdtKgP0reM+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuStGU0J78jr3os7ToICx2xxOFKYtoKxu3qQiD/uI3uqBFbpgL9x3Sv3FTcP5Xz247bXianhL7+9vitMU7q3cY6Lod8JtLXqz+Oqg5VrdFFy8OMmYv5cStuwOQYxGI4y4+T2EXm1JmAhPO7BzgFsPzry/7v6xgxCTcM8ztRrA5Qxyt6q5qTFnjjyJRZG1xy33elsEl1PETmxmmvREqm4M=
#include <stdio.h>
#include <mpi.h>
#include <stdlib.h>
#define NUM_ELEMENT 10
int main(int argc, char** argv)
{
int i, id, num_procs, len;
char name[MPI_MAX_PROCESSOR_NAME];
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &id);
MPI_Comm_size(MPI_COMM_WORLD, &num_procs);
MPI_Get_processor_name(name, &len);
printf("Rank %d running on %s\n", id, name);
int sizeWin=0;
int *sharedbuffer;
int *localbuffer;
if (id==0){
sizeWin=100;
sharedbuffer=(int*)malloc(sizeof(int) * sizeWin );
}
else{
sizeWin=0;
sharedbuffer=(int*)malloc(sizeof(int) * sizeWin );
localbuffer =(int*)malloc(sizeof(int) * NUM_ELEMENT );
}
MPI_Win_create(sharedbuffer, sizeWin, sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
if(id==0){
for (i = 0; i < NUM_ELEMENT; i++)
{
sharedbuffer[i] = 10*id + i;
localbuffer[i] = 0;
}
printf("Rank %d sets data in the shared memory:", id);
for (i = 0; i < NUM_ELEMENT; i++)
printf(" %02d", sharedbuffer[i]);
printf("\n");
}
MPI_Win_fence(0, win);
if (id != 0)
sleep(1);
//MPI_Get(&localbuffer[0], NUM_ELEMENT, MPI_INT, id-1, 0, NUM_ELEMENT, MPI_INT, win);
else
MPI_Get(&localbuffer[0], NUM_ELEMENT, MPI_INT, num_procs-1, 0, NUM_ELEMENT, MPI_INT, win);
MPI_Win_fence(0, win);
printf("Rank %d gets data from the shared memory:", id);
for (i = 0; i < NUM_ELEMENT; i++)
printf(" %02d", localbuffer[i]);
printf("\n");
MPI_Win_free(&win);
MPI_Finalize();
return 0;
}
#include <mpi.h>
#include <stdlib.h>
#define NUM_ELEMENT 10
int main(int argc, char** argv)
{
int i, id, num_procs, len;
char name[MPI_MAX_PROCESSOR_NAME];
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &id);
MPI_Comm_size(MPI_COMM_WORLD, &num_procs);
MPI_Get_processor_name(name, &len);
printf("Rank %d running on %s\n", id, name);
int sizeWin=0;
int *sharedbuffer;
int *localbuffer;
if (id==0){
sizeWin=100;
sharedbuffer=(int*)malloc(sizeof(int) * sizeWin );
}
else{
sizeWin=0;
sharedbuffer=(int*)malloc(sizeof(int) * sizeWin );
localbuffer =(int*)malloc(sizeof(int) * NUM_ELEMENT );
}
MPI_Win_create(sharedbuffer, sizeWin, sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
if(id==0){
for (i = 0; i < NUM_ELEMENT; i++)
{
sharedbuffer[i] = 10*id + i;
localbuffer[i] = 0;
}
printf("Rank %d sets data in the shared memory:", id);
for (i = 0; i < NUM_ELEMENT; i++)
printf(" %02d", sharedbuffer[i]);
printf("\n");
}
MPI_Win_fence(0, win);
if (id != 0)
sleep(1);
//MPI_Get(&localbuffer[0], NUM_ELEMENT, MPI_INT, id-1, 0, NUM_ELEMENT, MPI_INT, win);
else
MPI_Get(&localbuffer[0], NUM_ELEMENT, MPI_INT, num_procs-1, 0, NUM_ELEMENT, MPI_INT, win);
MPI_Win_fence(0, win);
printf("Rank %d gets data from the shared memory:", id);
for (i = 0; i < NUM_ELEMENT; i++)
printf(" %02d", localbuffer[i]);
printf("\n");
MPI_Win_free(&win);
MPI_Finalize();
return 0;
}
- [cgal-discuss] CGAl Volume, Julia Fischer, 03/02/2016
Archive powered by MHonArc 2.6.18.