Ignore:
Timestamp:
12/19/17 17:16:01 (6 years ago)
Author:
yushan
Message:

dev EP-RMA : MPI_Put, MPI_Get

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_openmp/extern/ep_dev/main.cpp

    r1382 r1383  
    3030  MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); 
    3131  
    32    
    33  
    34  
    35  
    36  
    37  
    38   //omp_set_num_threads(4); 
    39  
    40    
    41  
    4232  #pragma omp parallel default(shared) 
    4333  { 
     
    693683    MPI_Win ep_win; 
    694684    MPI_Aint buf_size(1); 
    695     int buf; 
     685    int buf = rank; 
     686    int local_buf = rank; 
    696687    MPI_Win_create(&buf, buf_size, sizeof(int), info, comm, &ep_win); 
    697688    MPI_Barrier(comm); 
     
    703694    MPI_Barrier(comm); 
    704695 
    705     MPI_Win_fence(MPI_MODE_NOSUCCEED, ep_win); 
    706  
    707     MPI_Barrier(comm); 
     696    MPI_Win_fence(0, ep_win); 
     697 
     698    if(rank == 0) 
     699    { 
     700      local_buf = 99; 
     701      MPI_Aint displs(0); 
     702      MPI_Put(&local_buf, 1, MPI_INT, size-1, displs, 1, MPI_INT, ep_win); 
     703    } 
     704 
     705    if(rank == size-2) 
     706    { 
     707      MPI_Aint displs(0); 
     708      MPI_Get(&local_buf, 1, MPI_INT, 2, displs, 1, MPI_INT, ep_win); 
     709    } 
     710 
     711 
     712    MPI_Barrier(comm); 
     713 
     714    MPI_Win_fence(0, ep_win); 
    708715 
    709716     
    710717    MPI_Win_free(&ep_win); 
    711     printf("comm free\n"); 
     718    printf("rank = %d, buf = %d, local_buf = %d\n", rank, buf, local_buf); 
    712719     
    713720    MPI_Comm_free(&comm); 
Note: See TracChangeset for help on using the changeset viewer.