Changeset 1365
- Timestamp:
- 12/07/17 16:56:23 (7 years ago)
- Location:
- XIOS/dev/branch_openmp
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_declaration.cpp
r1362 r1365 87 87 extern ::MPI_Info MPI_INFO_NULL_STD; 88 88 89 ep_lib::MPI_Datatype MPI_INT = MPI_INT_STD;90 ep_lib::MPI_Datatype MPI_FLOAT = MPI_FLOAT_STD;91 ep_lib::MPI_Datatype MPI_DOUBLE = MPI_DOUBLE_STD;92 ep_lib::MPI_Datatype MPI_CHAR = MPI_CHAR_STD;93 ep_lib::MPI_Datatype MPI_LONG = MPI_LONG_STD;94 ep_lib::MPI_Datatype MPI_UNSIGNED_LONG = MPI_UNSIGNED_LONG_STD;95 ep_lib::MPI_Datatype MPI_UNSIGNED_CHAR = MPI_UNSIGNED_CHAR_STD;89 ep_lib::MPI_Datatype MPI_INT = &MPI_INT_STD; 90 ep_lib::MPI_Datatype MPI_FLOAT = &MPI_FLOAT_STD; 91 ep_lib::MPI_Datatype MPI_DOUBLE = &MPI_DOUBLE_STD; 92 ep_lib::MPI_Datatype MPI_CHAR = &MPI_CHAR_STD; 93 ep_lib::MPI_Datatype MPI_LONG = &MPI_LONG_STD; 94 ep_lib::MPI_Datatype MPI_UNSIGNED_LONG = &MPI_UNSIGNED_LONG_STD; 95 ep_lib::MPI_Datatype MPI_UNSIGNED_CHAR = &MPI_UNSIGNED_CHAR_STD; 96 96 97 97 ep_lib::MPI_Op MPI_SUM = MPI_SUM_STD; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_gather.cpp
r1295 r1365 96 96 displs[i] = displs[i-1] + recvcounts[i-1]; 97 97 98 ::MPI_Gatherv(local_recvbuf, sendcount*num_ep, sendtype, tmp_recvbuf, recvcounts.data(), displs.data(), recvtype, root_mpi_rank, to_mpi_comm(comm.mpi_comm));98 ::MPI_Gatherv(local_recvbuf, sendcount*num_ep, to_mpi_type(sendtype), tmp_recvbuf, recvcounts.data(), displs.data(), to_mpi_type(recvtype), root_mpi_rank, to_mpi_comm(comm.mpi_comm)); 99 99 } 100 100 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_gatherv.cpp
r1354 r1365 133 133 134 134 135 ::MPI_Gatherv(local_recvbuf, sendcount*num_ep, sendtype, tmp_recvbuf, mpi_recvcounts.data(), mpi_displs.data(), recvtype, root_mpi_rank, to_mpi_comm(comm.mpi_comm));135 ::MPI_Gatherv(local_recvbuf, sendcount*num_ep, to_mpi_type(sendtype), tmp_recvbuf, mpi_recvcounts.data(), mpi_displs.data(), to_mpi_type(recvtype), root_mpi_rank, to_mpi_comm(comm.mpi_comm)); 136 136 } 137 137 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_intercomm_kernel.cpp
r1354 r1365 157 157 } 158 158 159 ::MPI_Bcast(recv_buf.data(), 3*size_info[1], MPI_INT, local_comm.rank_map->at(local_leader).second, local_mpi_comm);159 ::MPI_Bcast(recv_buf.data(), 3*size_info[1], to_mpi_type(MPI_INT), local_comm.rank_map->at(local_leader).second, local_mpi_comm); 160 160 161 161 std::copy ( recv_buf.data(), recv_buf.data() + size_info[1], rank_info[2].begin() ); … … 281 281 } 282 282 283 ::MPI_Bcast(&size_info[2], 2, MPI_INT, local_comm.rank_map->at(local_leader).second, local_mpi_comm);283 ::MPI_Bcast(&size_info[2], 2, to_mpi_type(MPI_INT), local_comm.rank_map->at(local_leader).second, local_mpi_comm); 284 284 285 285 new_rank_info[2].resize(size_info[3]); -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib.cpp
r1362 r1365 76 76 77 77 ::MPI_Status *mpi_status = static_cast< ::MPI_Status* >(status->mpi_status); 78 ::MPI_Datatype mpi_datatype = static_cast< ::MPI_Datatype>(datatype);79 80 ::MPI_Get_count(mpi_status, mpi_datatype, count);78 ::MPI_Datatype *mpi_datatype = static_cast< ::MPI_Datatype*>(datatype); 79 80 ::MPI_Get_count(mpi_status, *mpi_datatype, count); 81 81 } 82 82 … … 93 93 ::MPI_Aint datasize, intsize, charsize, lb; 94 94 95 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype>(datatype), &lb, &datasize);96 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype> (MPI_CHAR), &lb, &intsize);95 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(datatype)), &lb, &datasize); 96 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(MPI_CHAR)), &lb, &intsize); 97 97 98 98 int_count = count * datasize / intsize ; … … 125 125 ::MPI_Aint datasize, intsize, charsize, lb; 126 126 127 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype>(datatype), &lb, &datasize);128 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype> (MPI_CHAR), &lb, &intsize);127 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(datatype)), &lb, &datasize); 128 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(MPI_CHAR)), &lb, &intsize); 129 129 130 130 int_count = count * datasize / intsize ; … … 238 238 MPI_Datatype to_mpi_type(ep_lib::MPI_Datatype type) 239 239 { 240 return static_cast< MPI_Datatype>(type);240 return *static_cast< MPI_Datatype* >(type); 241 241 } 242 242 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib.hpp
r1356 r1365 12 12 { 13 13 //#ifdef _intelmpi 14 typedef intMPI_Datatype;14 typedef void* MPI_Datatype; 15 15 typedef int MPI_Op; 16 16 // #define EP_ANY_SOURCE -2 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib_collective.hpp
r1295 r1365 5 5 { 6 6 #ifdef _intelmpi 7 typedef intMPI_Datatype;7 typedef void* MPI_Datatype; 8 8 typedef int MPI_Op; 9 9 #elif _openmpi -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib_intercomm.hpp
r1356 r1365 5 5 { 6 6 #ifdef _intelmpi 7 typedef intMPI_Datatype;7 typedef void* MPI_Datatype; 8 8 typedef int MPI_Op; 9 9 #elif _openmpi -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib_local.hpp
r1295 r1365 5 5 { 6 6 #ifdef _intelmpi 7 typedef intMPI_Datatype;7 typedef void* MPI_Datatype; 8 8 typedef int MPI_Op; 9 9 #elif _openmpi -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_memory.cpp
r1362 r1365 10 10 int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) 11 11 { 12 ::MPI_Alloc_mem( size.mpi_aint, *(static_cast< ::MPI_Info*>(info.mpi_info)), baseptr);12 ::MPI_Alloc_mem(*(static_cast< ::MPI_Aint*>(size.mpi_aint)), *(static_cast< ::MPI_Info*>(info.mpi_info)), baseptr); 13 13 //::MPI_Alloc_mem(size.mpi_aint, MPI_INFO_NULL_STD, baseptr); 14 14 return 0; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_reduce.cpp
r1295 r1365 241 241 ::MPI_Aint datasize, lb; 242 242 243 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype>(datatype), &lb, &datasize);243 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(datatype)), &lb, &datasize); 244 244 245 245 bool is_master = (ep_rank_loc==0 && mpi_rank != root_mpi_rank ) || ep_rank == root; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_reduce_scatter.cpp
r1287 r1365 35 35 ::MPI_Aint datasize, lb; 36 36 37 ::MPI_Type_get_extent( static_cast< ::MPI_Datatype>(datatype), &lb, &datasize);37 ::MPI_Type_get_extent(*(static_cast< ::MPI_Datatype*>(datatype)), &lb, &datasize); 38 38 39 39 bool is_master = ep_rank_loc==0; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatter.cpp
r1295 r1365 93 93 displs[i] = displs[i-1] + recvcounts[i-1]; 94 94 95 ::MPI_Gatherv(local_ranks.data(), num_ep, MPI_INT, ranks.data(), recvcounts.data(), displs.data(), MPI_INT, root_mpi_rank, to_mpi_comm(comm.mpi_comm));95 ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type(MPI_INT), ranks.data(), recvcounts.data(), displs.data(), to_mpi_type(MPI_INT), root_mpi_rank, to_mpi_comm(comm.mpi_comm)); 96 96 } 97 97 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatterv.cpp
r1295 r1365 96 96 my_displs[i] = my_displs[i-1] + recvcounts[i-1]; 97 97 98 ::MPI_Gatherv(local_ranks.data(), num_ep, MPI_INT, ranks.data(), recvcounts.data(), my_displs.data(), MPI_INT, root_mpi_rank, to_mpi_comm(comm.mpi_comm));98 ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type(MPI_INT), ranks.data(), recvcounts.data(), my_displs.data(), to_mpi_type(MPI_INT), root_mpi_rank, to_mpi_comm(comm.mpi_comm)); 99 99 } 100 100 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.cpp
r1362 r1365 66 66 // *(static_cast< ::MPI_Request*>(mpi_request)) = *(static_cast< ::MPI_Request*>(request)); 67 67 // } 68 68 MPI_Aint::MPI_Aint(void* aint) 69 { 70 mpi_aint = new ::MPI_Aint; 71 *(static_cast< ::MPI_Aint*>(mpi_aint)) = *(static_cast< ::MPI_Aint*>(aint)); 72 } 69 73 70 74 bool ep_communicator::operator == (ep_communicator right) -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.hpp
r1362 r1365 57 57 public: 58 58 59 intep_datatype;59 void* ep_datatype; 60 60 int ep_src; 61 61 int ep_tag; … … 237 237 int ep_src; 238 238 int ep_tag; 239 intep_datatype;239 void* ep_datatype; 240 240 241 241 MPI_Comm comm; //! EP communicator related to the communication … … 252 252 public: 253 253 254 unsigned longmpi_aint;254 void* mpi_aint; 255 255 256 256 MPI_Aint() {} 257 MPI_Aint(int a): mpi_aint(a) {} 257 MPI_Aint(void* aint); 258 //MPI_Aint(int a): mpi_aint(a) {} 258 259 }; 259 260 -
XIOS/dev/branch_openmp/src/client_server_mapping.cpp
r1328 r1365 8 8 */ 9 9 #include "client_server_mapping.hpp" 10 10 11 using namespace ep_lib; 11 12 -
XIOS/dev/branch_openmp/src/event_scheduler.cpp
r1328 r1365 2 2 #include "xios_spl.hpp" 3 3 #include "mpi.hpp" 4 4 5 using namespace ep_lib; 5 6 -
XIOS/dev/branch_openmp/src/interface/c/oasis_cinterface.cpp
r1328 r1365 26 26 27 27 fxios_oasis_get_localcomm(&f_comm) ; 28 comm=EP_Comm_f2c(f_comm.mpi_fint) ;28 //comm=EP_Comm_f2c(f_comm.mpi_fint) ; 29 29 } 30 30 … … 34 34 35 35 fxios_oasis_get_intracomm(&f_comm,server_id.data(),server_id.size()) ; 36 comm_client_server=EP_Comm_f2c(f_comm.mpi_fint) ;36 //comm_client_server=EP_Comm_f2c(f_comm.mpi_fint) ; 37 37 } 38 38 … … 42 42 43 43 fxios_oasis_get_intercomm(&f_comm,server_id.data(),server_id.size()) ; 44 comm_client_server=EP_Comm_f2c(f_comm.mpi_fint) ;44 //comm_client_server=EP_Comm_f2c(f_comm.mpi_fint) ; 45 45 } 46 46 }
Note: See TracChangeset
for help on using the changeset viewer.