Changeset 1383 for XIOS/dev/branch_openmp/extern
- Timestamp:
- 12/19/17 17:16:01 (7 years ago)
- Location:
- XIOS/dev/branch_openmp/extern/ep_dev
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/ep_dev/ep_lib.cpp
r1381 r1383 265 265 } 266 266 267 MPI_Aint to_mpi_aint( void*aint)268 { 269 return *(static_cast< MPI_Aint* >(aint ));270 } 271 272 273 274 275 267 MPI_Aint to_mpi_aint(ep_lib::MPI_Aint aint) 268 { 269 return *(static_cast< MPI_Aint* >(aint.mpi_aint)); 270 } 271 272 273 274 275 -
XIOS/dev/branch_openmp/extern/ep_dev/ep_lib_win.hpp
r1381 r1383 12 12 int MPI_Win_free(MPI_Win *win); 13 13 int MPI_Win_fence(int assert, MPI_Win win); 14 int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 15 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win); 16 int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 17 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win); 14 18 } 15 19 -
XIOS/dev/branch_openmp/extern/ep_dev/ep_mpi.hpp
r1381 r1383 10 10 MPI_Info to_mpi_info(void* info); 11 11 MPI_Win to_mpi_win(void* win); 12 MPI_Aint to_mpi_aint(void*aint);12 MPI_Aint to_mpi_aint(ep_lib::MPI_Aint aint); 13 13 14 14 #endif // EP_MPI_HPP_INCLUDED -
XIOS/dev/branch_openmp/extern/ep_dev/ep_win.cpp
r1381 r1383 20 20 int num_ep_max; 21 21 MPI_Allreduce(&num_ep, &num_ep_max, 1, MPI_INT, MPI_MAX, comm); 22 23 assert(num_ep_max > 1); 22 24 23 25 -
XIOS/dev/branch_openmp/extern/ep_dev/main.cpp
r1382 r1383 30 30 MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); 31 31 32 33 34 35 36 37 38 //omp_set_num_threads(4);39 40 41 42 32 #pragma omp parallel default(shared) 43 33 { … … 693 683 MPI_Win ep_win; 694 684 MPI_Aint buf_size(1); 695 int buf; 685 int buf = rank; 686 int local_buf = rank; 696 687 MPI_Win_create(&buf, buf_size, sizeof(int), info, comm, &ep_win); 697 688 MPI_Barrier(comm); … … 703 694 MPI_Barrier(comm); 704 695 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); 708 715 709 716 710 717 MPI_Win_free(&ep_win); 711 printf(" comm free\n");718 printf("rank = %d, buf = %d, local_buf = %d\n", rank, buf, local_buf); 712 719 713 720 MPI_Comm_free(&comm);
Note: See TracChangeset
for help on using the changeset viewer.