Ignore:
Timestamp:
01/23/19 10:31:44 (5 years ago)
Author:
yushan
Message:

dev on ADA. add flag switch _usingEP/_usingMPI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatterv.cpp

    r1539 r1642  
    7676    std::vector<int>ranks(ep_size); 
    7777 
    78     if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), root_ep_loc, comm); 
    79     else                          MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), 0, comm); 
     78    if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), root_ep_loc, comm); 
     79    else                          MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), 0, comm); 
    8080 
    8181 
     
    9494        my_displs[i] = my_displs[i-1] + recvcounts[i-1]; 
    9595 
    96       ::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)); 
     96      ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type(EP_INT), ranks.data(), recvcounts.data(), my_displs.data(), to_mpi_type(EP_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 
    9797    } 
    9898 
     
    112112    void* local_sendbuf; 
    113113    int local_sendcount; 
    114     if(mpi_rank == root_mpi_rank) MPI_Reduce_local(&recvcount, &local_sendcount, 1, MPI_INT, MPI_SUM, root_ep_loc, comm); 
    115     else                          MPI_Reduce_local(&recvcount, &local_sendcount, 1, MPI_INT, MPI_SUM, 0, comm); 
     114    if(mpi_rank == root_mpi_rank) MPI_Reduce_local(&recvcount, &local_sendcount, 1, EP_INT, EP_SUM, root_ep_loc, comm); 
     115    else                          MPI_Reduce_local(&recvcount, &local_sendcount, 1, EP_INT, EP_SUM, 0, comm); 
    116116 
    117117    if(is_master)  
     
    119119      local_sendbuf = new void*[datasize * local_sendcount]; 
    120120  
    121       ::MPI_Gather(&local_sendcount, 1, to_mpi_type(MPI_INT), recvcounts.data(), 1, to_mpi_type(MPI_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 
     121      ::MPI_Gather(&local_sendcount, 1, to_mpi_type(EP_INT), recvcounts.data(), 1, to_mpi_type(EP_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 
    122122 
    123123      if(is_root) for(int i=1; i<mpi_size; i++) my_displs[i] = my_displs[i-1] + recvcounts[i-1]; 
     
    129129    std::vector<int>local_displs(num_ep, 0); 
    130130 
    131     MPI_Gather_local(&recvcount, 1, MPI_INT, local_sendcounts.data(), 0, comm); 
    132     MPI_Bcast_local(local_sendcounts.data(), num_ep, MPI_INT, 0, comm); 
     131    MPI_Gather_local(&recvcount, 1, EP_INT, local_sendcounts.data(), 0, comm); 
     132    MPI_Bcast_local(local_sendcounts.data(), num_ep, EP_INT, 0, comm); 
    133133    for(int i=1; i<num_ep; i++) 
    134134      local_displs[i] = local_displs[i-1] + local_sendcounts[i-1]; 
Note: See TracChangeset for help on using the changeset viewer.