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

dev on ADA. add flag switch _usingEP/_usingMPI

Location:
XIOS/dev/branch_openmp/extern/src_ep_dev
Files:
27 edited

Legend:

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

    r1539 r1642  
    9292      int local_sendcount = num_ep * count; 
    9393 
    94       ::MPI_Allgather(&local_sendcount, 1, to_mpi_type(MPI_INT), mpi_recvcounts, 1, to_mpi_type(MPI_INT), to_mpi_comm(comm->mpi_comm)); 
     94      ::MPI_Allgather(&local_sendcount, 1, to_mpi_type(EP_INT), mpi_recvcounts, 1, to_mpi_type(EP_INT), to_mpi_comm(comm->mpi_comm)); 
    9595 
    9696      mpi_displs[0] = 0; 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_allgatherv.cpp

    r1539 r1642  
    5656    vector<int>local_displs(num_ep, 0); 
    5757 
    58     MPI_Gather_local(&sendcount, 1, MPI_INT, local_recvcounts.data(), 0, comm); 
     58    MPI_Gather_local(&sendcount, 1, EP_INT, local_recvcounts.data(), 0, comm); 
    5959    for(int i=1; i<num_ep; i++) local_displs[i] = local_displs[i-1] + local_recvcounts[i-1];  
    6060 
     
    7575 
    7676      int local_sendcount = std::accumulate(local_recvcounts.begin(), local_recvcounts.end(), 0); 
    77       ::MPI_Allgather(&local_sendcount, 1, to_mpi_type(MPI_INT), mpi_recvcounts.data(), 1, to_mpi_type(MPI_INT), to_mpi_comm(comm->mpi_comm)); 
     77      ::MPI_Allgather(&local_sendcount, 1, to_mpi_type(EP_INT), mpi_recvcounts.data(), 1, to_mpi_type(EP_INT), to_mpi_comm(comm->mpi_comm)); 
    7878 
    7979      for(int i=1; i<mpi_size; i++) 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_allocate.cpp

    r1539 r1642  
    3333 
    3434    int num_ep_max; 
    35     MPI_Allreduce(&num_ep, &num_ep_max, 1, MPI_INT, MPI_MAX, comm); 
     35    MPI_Allreduce(&num_ep, &num_ep_max, 1, EP_INT, MPI_MAX, comm); 
    3636 
    3737    assert(num_ep_max > 1); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_create.cpp

    r1539 r1642  
    7373    } 
    7474 
    75     ::MPI_Allgather(&num_ep, 1, to_mpi_type(MPI_INT), &recv_num_ep[0], 1, to_mpi_type(MPI_INT), mpi_base_comm); 
     75    ::MPI_Allgather(&num_ep, 1, to_mpi_type(EP_INT), &recv_num_ep[0], 1, to_mpi_type(EP_INT), mpi_base_comm); 
    7676 
    7777 
     
    124124      for(int j=0; j<recv_num_ep[i]; j++) 
    125125      { 
    126         out_comm_hdls[0]->ep_rank_map->insert(std::pair< int, std::pair<int,int> >(ind, j, i)); 
     126        //out_comm_hdls[0]->ep_rank_map->insert(std::pair< int, std::pair<int,int> >(ind, j, i)); 
     127        (*(out_comm_hdls[0]->ep_rank_map))[ind] = std::make_pair(j,i);//->insert(std::pair< int, std::pair<int,int> >(ind, j, i)); 
    127128        ind++; 
    128129      } 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_declaration.cpp

    r1520 r1642  
    44 
    55::MPI_Comm MPI_COMM_WORLD_STD = MPI_COMM_WORLD; 
    6 #undef MPI_COMM_WORLD 
     6//#undef MPI_COMM_WORLD 
    77 
    88 
    99::MPI_Comm MPI_COMM_NULL_STD = MPI_COMM_NULL; 
    10 #undef MPI_COMM_NULL 
     10//#undef MPI_COMM_NULL 
    1111 
    1212 
    1313::MPI_Request MPI_REQUEST_NULL_STD = MPI_REQUEST_NULL; 
    14 #undef MPI_REQUEST_NULL 
     14//#undef MPI_REQUEST_NULL 
    1515 
    1616::MPI_Info MPI_INFO_NULL_STD = MPI_INFO_NULL; 
    17 #undef MPI_INFO_NULL 
     17//#undef MPI_INFO_NULL 
    1818 
    1919::MPI_Datatype MPI_INT_STD = MPI_INT; 
     
    2626::MPI_Datatype MPI_UINT64_T_STD = MPI_UINT64_T; 
    2727::MPI_Datatype MPI_LONG_LONG_INT_STD = MPI_LONG_LONG_INT; 
    28  
     28::MPI_Datatype MPI_LONG_LONG_STD = MPI_LONG_LONG; 
     29/* 
    2930#undef MPI_INT 
    3031#undef MPI_FLOAT 
     
    3637#undef MPI_UINT64_T 
    3738#undef MPI_LONG_LONG_INT 
    38  
     39*/ 
    3940 
    4041::MPI_Op MPI_SUM_STD = MPI_SUM; 
     
    4344::MPI_Op MPI_LOR_STD = MPI_LOR; 
    4445::MPI_Op MPI_REPLACE_STD = MPI_REPLACE; 
    45  
     46/* 
    4647#undef MPI_SUM 
    4748#undef MPI_MAX 
     
    4950#undef MPI_LOR 
    5051#undef MPI_REPLACE 
    51  
     52*/ 
    5253 
    5354// _STD defined in ep_type.cpp 
     
    6263extern ::MPI_Datatype MPI_UINT64_T_STD; 
    6364extern ::MPI_Datatype MPI_LONG_LONG_INT_STD; 
     65extern ::MPI_Datatype MPI_LONG_LONG_STD; 
     66 
    6467 
    6568 
     
    7780extern ::MPI_Info MPI_INFO_NULL_STD; 
    7881 
    79 ep_lib::MPI_Datatype MPI_INT = &MPI_INT_STD; 
    80 ep_lib::MPI_Datatype MPI_FLOAT = &MPI_FLOAT_STD; 
    81 ep_lib::MPI_Datatype MPI_DOUBLE = &MPI_DOUBLE_STD; 
    82 ep_lib::MPI_Datatype MPI_CHAR = &MPI_CHAR_STD; 
    83 ep_lib::MPI_Datatype MPI_LONG = &MPI_LONG_STD; 
    84 ep_lib::MPI_Datatype MPI_UNSIGNED_LONG = &MPI_UNSIGNED_LONG_STD; 
    85 ep_lib::MPI_Datatype MPI_UNSIGNED_CHAR = &MPI_UNSIGNED_CHAR_STD; 
    86 ep_lib::MPI_Datatype MPI_UINT64_T = &MPI_UINT64_T_STD; 
    87 ep_lib::MPI_Datatype MPI_LONG_LONG_INT = &MPI_LONG_LONG_INT_STD; 
    88  
    89  
    90 ep_lib::MPI_Op MPI_SUM = &MPI_SUM_STD; 
    91 ep_lib::MPI_Op MPI_MAX = &MPI_MAX_STD; 
    92 ep_lib::MPI_Op MPI_MIN = &MPI_MIN_STD; 
    93 ep_lib::MPI_Op MPI_LOR = &MPI_LOR_STD; 
    94 ep_lib::MPI_Op MPI_REPLACE = &MPI_REPLACE_STD; 
    95  
    96 ep_lib::ep_comm EP_COMM_WORLD(&MPI_COMM_WORLD_STD); 
    97 ep_lib::ep_comm EP_COMM_NULL(&MPI_COMM_NULL_STD); 
    98  
    99 ep_lib::MPI_Comm MPI_COMM_WORLD = &EP_COMM_WORLD; 
    100 ep_lib::MPI_Comm MPI_COMM_NULL = &EP_COMM_NULL; 
    101  
    102 //ep_lib::ep_status EP_STATUS_IGNORE(&MPI_STATUS_IGNORE_STD); 
    103 ep_lib::ep_request EP_REQUEST_NULL(&MPI_REQUEST_NULL_STD); 
    104 ep_lib::ep_info EP_INFO_NULL(&MPI_INFO_NULL_STD); 
    105  
    106 //ep_lib::MPI_Status MPI_STATUS_IGNORE = &EP_STATUS_IGNORE; 
    107 ep_lib::MPI_Request MPI_REQUEST_NULL = &EP_REQUEST_NULL; 
    108 ep_lib::MPI_Info MPI_INFO_NULL = &EP_INFO_NULL; 
     82ep_lib::MPI_Datatype EP_INT = &MPI_INT_STD; 
     83ep_lib::MPI_Datatype EP_FLOAT = &MPI_FLOAT_STD; 
     84ep_lib::MPI_Datatype EP_DOUBLE = &MPI_DOUBLE_STD; 
     85ep_lib::MPI_Datatype EP_CHAR = &MPI_CHAR_STD; 
     86ep_lib::MPI_Datatype EP_LONG = &MPI_LONG_STD; 
     87ep_lib::MPI_Datatype EP_UNSIGNED_LONG = &MPI_UNSIGNED_LONG_STD; 
     88ep_lib::MPI_Datatype EP_UNSIGNED_CHAR = &MPI_UNSIGNED_CHAR_STD; 
     89ep_lib::MPI_Datatype EP_UINT64_T = &MPI_UINT64_T_STD; 
     90ep_lib::MPI_Datatype EP_LONG_LONG_INT = &MPI_LONG_LONG_INT_STD; 
     91ep_lib::MPI_Datatype EP_LONG_LONG = &MPI_LONG_LONG_STD; 
    10992 
    11093 
    11194 
     95ep_lib::MPI_Op EP_SUM = &MPI_SUM_STD; 
     96ep_lib::MPI_Op EP_MAX = &MPI_MAX_STD; 
     97ep_lib::MPI_Op EP_MIN = &MPI_MIN_STD; 
     98ep_lib::MPI_Op EP_LOR = &MPI_LOR_STD; 
     99ep_lib::MPI_Op EP_REPLACE = &MPI_REPLACE_STD; 
     100 
     101ep_lib::ep_comm EP_COMM_WORLD_t(&MPI_COMM_WORLD_STD); 
     102ep_lib::ep_comm EP_COMM_NULL_t(&MPI_COMM_NULL_STD); 
     103 
     104ep_lib::MPI_Comm EP_COMM_WORLD = &EP_COMM_WORLD_t; 
     105ep_lib::MPI_Comm EP_COMM_NULL = &EP_COMM_NULL_t; 
     106 
     107//ep_lib::ep_status EP_STATUS_IGNORE(&MPI_STATUS_IGNORE_STD); 
     108ep_lib::ep_request EP_REQUEST_NULL_t(&MPI_REQUEST_NULL_STD); 
     109ep_lib::ep_info EP_INFO_NULL_t(&MPI_INFO_NULL_STD); 
     110 
     111//ep_lib::MPI_Status MPI_STATUS_IGNORE = &EP_STATUS_IGNORE; 
     112ep_lib::MPI_Request EP_REQUEST_NULL = &EP_REQUEST_NULL_t; 
     113ep_lib::MPI_Info EP_INFO_NULL = &EP_INFO_NULL_t; 
     114 
     115 
     116 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_declaration.hpp

    r1520 r1642  
    11#ifndef EP_DECLARATION_HPP_INCLUDED 
    22#define EP_DECLARATION_HPP_INCLUDED 
    3  
     3/* 
    44#undef MPI_INT 
    55#undef MPI_FLOAT 
     
    1818#undef MPI_REPLACE 
    1919 
    20 #undef MPI_COMM_WORLD 
     20//#undef MPI_COMM_WORLD 
    2121#undef MPI_COMM_NULL 
    2222 
     
    2424#undef MPI_STATUS_IGNORE 
    2525#undef MPI_INFO_NULL 
     26*/ 
     27extern ep_lib::MPI_Datatype EP_INT; 
     28extern ep_lib::MPI_Datatype EP_FLOAT; 
     29extern ep_lib::MPI_Datatype EP_DOUBLE; 
     30extern ep_lib::MPI_Datatype EP_CHAR; 
     31extern ep_lib::MPI_Datatype EP_LONG; 
     32extern ep_lib::MPI_Datatype EP_UNSIGNED_LONG; 
     33extern ep_lib::MPI_Datatype EP_UNSIGNED_CHAR; 
     34extern ep_lib::MPI_Datatype EP_UINT64_T; 
     35extern ep_lib::MPI_Datatype EP_LONG_LONG_INT; 
     36extern ep_lib::MPI_Datatype EP_LONG_LONG; 
    2637 
    27 extern ep_lib::MPI_Datatype MPI_INT; 
    28 extern ep_lib::MPI_Datatype MPI_FLOAT; 
    29 extern ep_lib::MPI_Datatype MPI_DOUBLE; 
    30 extern ep_lib::MPI_Datatype MPI_CHAR; 
    31 extern ep_lib::MPI_Datatype MPI_LONG; 
    32 extern ep_lib::MPI_Datatype MPI_UNSIGNED_LONG; 
    33 extern ep_lib::MPI_Datatype MPI_UNSIGNED_CHAR; 
    34 extern ep_lib::MPI_Datatype MPI_UINT64_T; 
    35 extern ep_lib::MPI_Datatype MPI_LONG_LONG_INT; 
    3638 
    37 extern ep_lib::MPI_Op MPI_SUM; 
    38 extern ep_lib::MPI_Op MPI_MAX; 
    39 extern ep_lib::MPI_Op MPI_MIN; 
    40 extern ep_lib::MPI_Op MPI_LOR; 
    41 extern ep_lib::MPI_Op MPI_REPLACE; 
     39extern ep_lib::MPI_Op EP_SUM; 
     40extern ep_lib::MPI_Op EP_MAX; 
     41extern ep_lib::MPI_Op EP_MIN; 
     42extern ep_lib::MPI_Op EP_LOR; 
     43extern ep_lib::MPI_Op EP_REPLACE; 
    4244 
    43 extern ep_lib::MPI_Comm MPI_COMM_WORLD; 
    44 extern ep_lib::MPI_Comm MPI_COMM_NULL; 
     45extern ep_lib::MPI_Comm EP_COMM_WORLD; 
     46extern ep_lib::MPI_Comm EP_COMM_NULL; 
    4547 
    46 extern ep_lib::MPI_Status MPI_STATUS_IGNORE; 
    47 extern ep_lib::MPI_Request MPI_REQUEST_NULL; 
    48 extern ep_lib::MPI_Info MPI_INFO_NULL; 
    49  
     48extern ep_lib::MPI_Status EP_STATUS_IGNORE; 
     49extern ep_lib::MPI_Request EP_REQUEST_NULL; 
     50extern ep_lib::MPI_Info EP_INFO_NULL; 
    5051 
    5152#endif // EP_DECLARATION_HPP_INCLUDED 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_exscan.cpp

    r1540 r1642  
    7878    MPI_Barrier_local(comm); 
    7979 
    80     if(op == MPI_SUM) 
    81     { 
    82       if(datatype == MPI_INT ) 
     80    if(op == EP_SUM) 
     81    { 
     82      if(datatype == EP_INT ) 
    8383      { 
    8484        assert(datasize == sizeof(int)); 
     
    8787      } 
    8888      
    89       else if(datatype == MPI_FLOAT ) 
     89      else if(datatype == EP_FLOAT ) 
    9090      { 
    9191        assert(datasize == sizeof(float)); 
     
    9595       
    9696 
    97       else if(datatype == MPI_DOUBLE ) 
     97      else if(datatype == EP_DOUBLE ) 
    9898      { 
    9999        assert(datasize == sizeof(double)); 
     
    102102      } 
    103103 
    104       else if(datatype == MPI_CHAR ) 
     104      else if(datatype == EP_CHAR ) 
    105105      { 
    106106        assert(datasize == sizeof(char)); 
     
    109109      } 
    110110 
    111       else if(datatype == MPI_LONG ) 
     111      else if(datatype == EP_LONG ) 
    112112      { 
    113113        assert(datasize == sizeof(long)); 
     
    116116      } 
    117117 
    118       else if(datatype == MPI_UNSIGNED_LONG ) 
     118      else if(datatype == EP_UNSIGNED_LONG ) 
    119119      { 
    120120        assert(datasize == sizeof(unsigned long)); 
     
    123123      } 
    124124       
    125       else if(datatype == MPI_LONG_LONG_INT ) 
     125      else if(datatype == EP_LONG_LONG_INT ) 
    126126      { 
    127127        assert(datasize == sizeof(long long int)); 
     
    139139    } 
    140140 
    141     else if(op == MPI_MAX) 
    142     { 
    143       if(datatype == MPI_INT ) 
     141    else if(op == EP_MAX) 
     142    { 
     143      if(datatype == EP_INT ) 
    144144      { 
    145145        assert(datasize == sizeof(int)); 
     
    148148      } 
    149149 
    150       else if(datatype == MPI_FLOAT ) 
     150      else if(datatype == EP_FLOAT ) 
    151151      { 
    152152        assert(datasize == sizeof(float)); 
     
    155155      } 
    156156 
    157       else if(datatype == MPI_DOUBLE ) 
     157      else if(datatype == EP_DOUBLE ) 
    158158      { 
    159159        assert(datasize == sizeof(double)); 
     
    162162      } 
    163163 
    164       else if(datatype == MPI_CHAR ) 
     164      else if(datatype == EP_CHAR ) 
    165165      { 
    166166        assert(datasize == sizeof(char)); 
     
    169169      } 
    170170 
    171       else if(datatype == MPI_LONG ) 
     171      else if(datatype == EP_LONG ) 
    172172      { 
    173173        assert(datasize == sizeof(long)); 
     
    176176      } 
    177177 
    178       else if(datatype == MPI_UNSIGNED_LONG ) 
     178      else if(datatype == EP_UNSIGNED_LONG ) 
    179179      { 
    180180        assert(datasize == sizeof(unsigned long)); 
     
    183183      } 
    184184      
    185       else if(datatype == MPI_LONG_LONG_INT ) 
     185      else if(datatype == EP_LONG_LONG_INT ) 
    186186      { 
    187187        assert(datasize == sizeof(long long int)); 
     
    197197    } 
    198198 
    199     else if(op == MPI_MIN) 
    200     { 
    201       if(datatype == MPI_INT ) 
     199    else if(op == EP_MIN) 
     200    { 
     201      if(datatype == EP_INT ) 
    202202      { 
    203203        assert(datasize == sizeof(int)); 
     
    206206      } 
    207207 
    208       else if(datatype == MPI_FLOAT ) 
     208      else if(datatype == EP_FLOAT ) 
    209209      { 
    210210        assert(datasize == sizeof(float)); 
     
    213213      } 
    214214 
    215       else if(datatype == MPI_DOUBLE ) 
     215      else if(datatype == EP_DOUBLE ) 
    216216      { 
    217217        assert(datasize == sizeof(double)); 
     
    220220      } 
    221221 
    222       else if(datatype == MPI_CHAR ) 
     222      else if(datatype == EP_CHAR ) 
    223223      { 
    224224        assert(datasize == sizeof(char)); 
     
    227227      } 
    228228 
    229       else if(datatype == MPI_LONG ) 
     229      else if(datatype == EP_LONG ) 
    230230      { 
    231231        assert(datasize == sizeof(long)); 
     
    234234      } 
    235235 
    236       else if(datatype == MPI_UNSIGNED_LONG ) 
     236      else if(datatype == EP_UNSIGNED_LONG ) 
    237237      { 
    238238        assert(datasize == sizeof(unsigned long)); 
     
    241241      } 
    242242 
    243       else if(datatype == MPI_LONG_LONG_INT ) 
     243      else if(datatype == EP_LONG_LONG_INT ) 
    244244      { 
    245245        assert(datasize == sizeof(long long int)); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_finalize.cpp

    r1539 r1642  
    99  int MPI_Finalize() 
    1010  { 
    11     #pragma omp master 
     11    //pragma omp master 
    1212    { 
    1313      printf("calling EP Finalize\n"); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_fortran.cpp

    r1520 r1642  
    88 
    99 
    10 namespace ep_lib 
    11 { 
     10//namespace ep_lib 
     11//{ 
    1212 
    13   void* EP_Comm_c2f(MPI_Comm comm) 
     13  void* EP_Comm_c2f(ep_lib::MPI_Comm comm) 
    1414  { 
    1515    Debug("MPI_Comm_c2f"); 
    16     void* fint = new ::MPI_Fint; 
     16    void* fint = new MPI_Fint; 
    1717    #ifdef _intelmpi 
    18     *static_cast< ::MPI_Fint*>(fint) = (::MPI_Fint)(to_mpi_comm(comm->mpi_comm)); 
     18    //*static_cast< ::MPI_Fint*>(fint) = (::MPI_Fint)(to_mpi_comm(comm->mpi_comm)); 
     19    *static_cast< MPI_Fint*>(fint) = MPI_Comm_c2f(to_mpi_comm(comm->mpi_comm)); 
    1920    #elif _openmpi 
    20     *static_cast< ::MPI_Fint*>(fint) = MPI_Comm_c2f(to_mpi_comm(comm->mpi_comm)); 
     21    *static_cast< MPI_Fint*>(fint) = MPI_Comm_c2f(to_mpi_comm(comm->mpi_comm)); 
    2122    #endif 
    2223     
    23     std::map<std::pair< ::MPI_Fint, int>, MPI_Comm > ::iterator it; 
     24    std::map<std::pair< MPI_Fint, int>, ep_lib::MPI_Comm > ::iterator it; 
    2425     
    2526    #pragma omp critical (fc_comm_map) 
    2627    { 
    27       it = fc_comm_map.find(std::make_pair(*static_cast< ::MPI_Fint*>(fint), omp_get_thread_num())); 
    28       if(it == fc_comm_map.end()) 
     28      it = ep_lib::fc_comm_map.find(std::make_pair(*static_cast< MPI_Fint*>(fint), omp_get_thread_num())); 
     29      if(it == ep_lib::fc_comm_map.end()) 
    2930      { 
    30         fc_comm_map.insert(std::make_pair( std::make_pair( *static_cast< ::MPI_Fint*>(fint), omp_get_thread_num()) , comm)); 
    31         printf("EP_Comm_c2f : MAP %p insert: %d, %d, %p\n", &fc_comm_map, *static_cast< ::MPI_Fint*>(fint), omp_get_thread_num(), comm->ep_comm_ptr); 
     31        ep_lib::fc_comm_map.insert(std::make_pair( std::make_pair( *static_cast< MPI_Fint*>(fint), omp_get_thread_num()) , comm)); 
     32        printf("EP_Comm_c2f : MAP %p insert: %d, %d, %p\n", &(ep_lib::fc_comm_map), *static_cast< MPI_Fint*>(fint), omp_get_thread_num(), comm->ep_comm_ptr); 
    3233      } 
    3334    } 
     
    3839  } 
    3940 
    40   MPI_Comm EP_Comm_f2c(void* comm) 
     41  ep_lib::MPI_Comm EP_Comm_f2c(void* comm) 
    4142  { 
    4243    Debug("MPI_Comm_f2c"); 
    4344     
    4445     
    45     std::map<std::pair< ::MPI_Fint, int>, MPI_Comm > ::iterator it; 
     46    std::map<std::pair< MPI_Fint, int>, ep_lib::MPI_Comm > ::iterator it; 
    4647     
    4748    #pragma omp critical (fc_comm_map) 
    48     it = fc_comm_map.find(std::make_pair(*static_cast< ::MPI_Fint*>(comm), omp_get_thread_num())); 
     49    it = ep_lib::fc_comm_map.find(std::make_pair(*static_cast< MPI_Fint*>(comm), omp_get_thread_num())); 
    4950     
    50     if(it != fc_comm_map.end()) 
     51    if(it != ep_lib::fc_comm_map.end()) 
    5152    { 
    52       MPI_Comm comm_ptr; 
     53      ep_lib::MPI_Comm comm_ptr; 
    5354      comm_ptr = it->second; 
    54       printf("EP_Comm_f2c : MAP %p find: %d, %d, %p\n", &fc_comm_map, it->first.first, it->first.second, comm_ptr->ep_comm_ptr); 
     55      printf("EP_Comm_f2c : MAP %p find: %d, %d, %p\n", &(ep_lib::fc_comm_map), it->first.first, it->first.second, comm_ptr->ep_comm_ptr); 
    5556      return  comm_ptr; 
    5657    } 
     
    5859       
    5960     
     61    MPI_Comm *base_comm = new MPI_Comm; 
    6062    #ifdef _intelmpi 
    61     ::MPI_Comm *base_comm = new ::MPI_Comm; 
    62     *base_comm = (::MPI_Comm)(*static_cast< ::MPI_Fint*>(comm)); 
     63    *base_comm = (MPI_Comm)(*static_cast< MPI_Fint*>(comm)); 
    6364    #elif _openmpi 
    64     ::MPI_Comm *base_comm = ::MPI_Comm_f2c(*static_cast< ::MPI_Fint*>(comm)); 
     65    *base_comm = MPI_Comm_f2c(*static_cast< MPI_Fint*>(comm)); 
    6566    #endif 
    6667 
    67     if(*base_comm != to_mpi_comm(MPI_COMM_NULL->mpi_comm)) 
     68    if(*base_comm != to_mpi_comm(EP_COMM_NULL->mpi_comm)) 
    6869    { 
    6970      if(omp_get_thread_num() == 0) 
    7071      { 
    7172        int num_ep = omp_get_num_threads(); 
    72         MPI_Comm *new_comm; 
    73         MPI_Info info; 
    74         MPI_Comm_create_endpoints(base_comm, num_ep, info, new_comm); 
    75         passage = new_comm; 
     73        ep_lib::MPI_Comm *new_comm; 
     74        ep_lib::MPI_Info info; 
     75        ep_lib::MPI_Comm_create_endpoints(base_comm, num_ep, info, new_comm); 
     76        ep_lib::passage = new_comm; 
    7677      } 
    7778      #pragma omp barrier 
    7879 
    79       MPI_Comm return_comm = passage[omp_get_thread_num()]; 
     80      ep_lib::MPI_Comm return_comm = ep_lib::passage[omp_get_thread_num()]; 
    8081      return return_comm; 
    8182         
    8283    } 
    83     return MPI_COMM_NULL; 
     84    return EP_COMM_NULL; 
    8485 
    8586  } 
    8687 
    87 } 
     88//} 
    8889 
    8990 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_gatherv.cpp

    r1539 r1642  
    8787    } 
    8888 
    89     MPI_Bcast(recvcounts, ep_size, MPI_INT, root, comm); 
    90     MPI_Bcast(displs, ep_size, MPI_INT, root, comm); 
     89    MPI_Bcast(recvcounts, ep_size, EP_INT, root, comm); 
     90    MPI_Bcast(displs, ep_size, EP_INT, root, comm); 
    9191 
    92     if(mpi_rank == root_mpi_rank) MPI_Gather_local(&sendcount, 1, MPI_INT, local_recvcounts.data(), root_ep_loc, comm); 
    93     else                          MPI_Gather_local(&sendcount, 1, MPI_INT, local_recvcounts.data(), 0, comm); 
     92    if(mpi_rank == root_mpi_rank) MPI_Gather_local(&sendcount, 1, EP_INT, local_recvcounts.data(), root_ep_loc, comm); 
     93    else                          MPI_Gather_local(&sendcount, 1, EP_INT, local_recvcounts.data(), 0, comm); 
    9494 
    9595 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_intercomm.cpp

    r1556 r1642  
    3333    } 
    3434     
    35     MPI_Bcast(mpi_rank_of_leader, 2, MPI_INT, local_leader, local_comm); 
     35    MPI_Bcast(mpi_rank_of_leader, 2, EP_INT, local_leader, local_comm); 
    3636     
    3737    if(mpi_rank_of_leader[0] != mpi_rank_of_leader[1]) 
     
    8686      MPI_Comm_rank(peer_comm, &local_leader_rank_in_peer); 
    8787      ::MPI_Comm_rank(to_mpi_comm(peer_comm->mpi_comm), &local_leader_rank_in_peer_mpi); 
    88       ::MPI_Comm_rank(to_mpi_comm(MPI_COMM_WORLD->mpi_comm), &local_leader_rank_in_world); 
     88      ::MPI_Comm_rank(to_mpi_comm(EP_COMM_WORLD->mpi_comm), &local_leader_rank_in_world); 
    8989 
    9090      send_quadruple[0] = ep_size; 
     
    9999      if(remote_leader > local_leader_rank_in_peer) 
    100100      { 
    101         MPI_Isend(send_quadruple, 4, MPI_INT, remote_leader, tag, peer_comm, &request); 
     101        MPI_Isend(send_quadruple, 4, EP_INT, remote_leader, tag, peer_comm, &request); 
    102102        MPI_Wait(&request, &status); 
    103103        
    104         MPI_Irecv(recv_quadruple, 4, MPI_INT, remote_leader, tag, peer_comm, &request); 
     104        MPI_Irecv(recv_quadruple, 4, EP_INT, remote_leader, tag, peer_comm, &request); 
    105105        MPI_Wait(&request, &status); 
    106106      } 
    107107      else 
    108108      { 
    109         MPI_Irecv(recv_quadruple, 4, MPI_INT, remote_leader, tag, peer_comm, &request); 
     109        MPI_Irecv(recv_quadruple, 4, EP_INT, remote_leader, tag, peer_comm, &request); 
    110110        MPI_Wait(&request, &status); 
    111111           
    112         MPI_Isend(send_quadruple, 4, MPI_INT, remote_leader, tag, peer_comm, &request); 
     112        MPI_Isend(send_quadruple, 4, EP_INT, remote_leader, tag, peer_comm, &request); 
    113113        MPI_Wait(&request, &status); 
    114114      } 
     
    123123    } 
    124124 
    125     MPI_Bcast(send_quadruple, 4, MPI_INT, local_leader, local_comm); 
    126     MPI_Bcast(recv_quadruple, 4, MPI_INT, local_leader, local_comm); 
     125    MPI_Bcast(send_quadruple, 4, EP_INT, local_leader, local_comm); 
     126    MPI_Bcast(recv_quadruple, 4, EP_INT, local_leader, local_comm); 
    127127 
    128128    if(!is_local_leader) 
     
    152152 
    153153    int rank_in_world; 
    154     ::MPI_Comm_rank(to_mpi_comm(MPI_COMM_WORLD->mpi_comm), &rank_in_world); 
     154    ::MPI_Comm_rank(to_mpi_comm(EP_COMM_WORLD->mpi_comm), &rank_in_world); 
    155155 
    156156    int *ranks_in_world_local  = new int[ep_size]; 
    157157    int *ranks_in_world_remote = new int[remote_ep_size]; 
    158158 
    159     MPI_Allgather(&rank_in_world, 1, MPI_INT, ranks_in_world_local, 1, MPI_INT, local_comm); 
     159    MPI_Allgather(&rank_in_world, 1, EP_INT, ranks_in_world_local, 1, EP_INT, local_comm); 
    160160 
    161161    if(is_local_leader) 
     
    166166      if(remote_leader > local_leader_rank_in_peer) 
    167167      { 
    168         MPI_Isend(ranks_in_world_local,  ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     168        MPI_Isend(ranks_in_world_local,  ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    169169        MPI_Wait(&request, &status); 
    170170        
    171         MPI_Irecv(ranks_in_world_remote, remote_ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     171        MPI_Irecv(ranks_in_world_remote, remote_ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    172172        MPI_Wait(&request, &status); 
    173173      } 
    174174      else 
    175175      { 
    176         MPI_Irecv(ranks_in_world_remote, remote_ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     176        MPI_Irecv(ranks_in_world_remote, remote_ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    177177        MPI_Wait(&request, &status); 
    178178           
    179         MPI_Isend(ranks_in_world_local,  ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     179        MPI_Isend(ranks_in_world_local,  ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    180180        MPI_Wait(&request, &status); 
    181181      } 
     
    185185    } 
    186186 
    187     MPI_Bcast(ranks_in_world_remote, remote_ep_size, MPI_INT, local_leader, local_comm); 
     187    MPI_Bcast(ranks_in_world_remote, remote_ep_size, EP_INT, local_leader, local_comm); 
    188188 
    189189#ifdef _showinfo 
     
    313313      int *mpi_rank_list = new int[mpi_size]; 
    314314 
    315       ::MPI_Allgather(&ownership, 1, to_mpi_type(MPI_INT), ownership_list, 1, to_mpi_type(MPI_INT), to_mpi_comm(local_comm->mpi_comm)); 
    316       ::MPI_Allgather(&mpi_rank,  1, to_mpi_type(MPI_INT), mpi_rank_list,  1, to_mpi_type(MPI_INT), to_mpi_comm(local_comm->mpi_comm)); 
     315      ::MPI_Allgather(&ownership, 1, to_mpi_type(EP_INT), ownership_list, 1, to_mpi_type(EP_INT), to_mpi_comm(local_comm->mpi_comm)); 
     316      ::MPI_Allgather(&mpi_rank,  1, to_mpi_type(EP_INT), mpi_rank_list,  1, to_mpi_type(EP_INT), to_mpi_comm(local_comm->mpi_comm)); 
    317317 
    318318       
     
    347347      } 
    348348 
    349       ::MPI_Bcast(&local_leader_rank_in_extracted_comm, 1, to_mpi_type(MPI_INT), local_comm->ep_rank_map->at(local_leader).second, to_mpi_comm(local_comm->mpi_comm)); 
     349      ::MPI_Bcast(&local_leader_rank_in_extracted_comm, 1, to_mpi_type(EP_INT), local_comm->ep_rank_map->at(local_leader).second, to_mpi_comm(local_comm->mpi_comm)); 
    350350 
    351351      ::MPI_Comm *intracomm = new ::MPI_Comm; 
    352       bool is_real_involved = ownership && extracted_comm != to_mpi_comm(MPI_COMM_NULL->mpi_comm); 
     352      bool is_real_involved = ownership && extracted_comm != to_mpi_comm(EP_COMM_NULL->mpi_comm); 
    353353 
    354354      if(is_real_involved) 
     
    489489    int *remote_rank_info = new int[2*remote_ep_size]; 
    490490 
    491     MPI_Allgather(rank_info, 2, MPI_INT, local_rank_info, 2, MPI_INT, local_comm); 
     491    MPI_Allgather(rank_info, 2, EP_INT, local_rank_info, 2, EP_INT, local_comm); 
    492492 
    493493    if(is_local_leader) 
     
    498498      if(priority) 
    499499      { 
    500         MPI_Isend(local_rank_info, 2*ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     500        MPI_Isend(local_rank_info, 2*ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    501501        MPI_Wait(&request, &status); 
    502502        
    503         MPI_Irecv(remote_rank_info, 2*remote_ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
     503        MPI_Irecv(remote_rank_info, 2*remote_ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
    504504        MPI_Wait(&request, &status); 
    505505      } 
    506506      else 
    507507      { 
    508         MPI_Irecv(remote_rank_info, 2*remote_ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
    509         MPI_Wait(&request, &status); 
    510            
    511         MPI_Isend(local_rank_info, 2*ep_size, MPI_INT, remote_leader, tag, peer_comm, &request); 
    512         MPI_Wait(&request, &status); 
    513       } 
    514     } 
    515  
    516     MPI_Bcast(remote_rank_info, 2*remote_ep_size, MPI_INT, local_leader, local_comm); 
     508        MPI_Irecv(remote_rank_info, 2*remote_ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
     509        MPI_Wait(&request, &status); 
     510         
     511        MPI_Isend(local_rank_info, 2*ep_size, EP_INT, remote_leader, tag, peer_comm, &request); 
     512        MPI_Wait(&request, &status); 
     513      } 
     514    } 
     515 
     516    MPI_Bcast(remote_rank_info, 2*remote_ep_size, EP_INT, local_leader, local_comm); 
    517517 
    518518    for(int i=0; i<remote_ep_size; i++) 
     
    537537    } 
    538538    */ 
    539      
     539   //MPI_Barrier(*newintercomm);  
     540   //MPI_Barrier(*newintercomm);  
     541   //MPI_Barrier(*newintercomm);  
    540542  
    541543  } 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib.cpp

    r1540 r1642  
    131131  bool valid_type(MPI_Datatype datatype) 
    132132  { 
    133     if(   datatype == MPI_INT  
    134        || datatype == MPI_FLOAT 
    135        || datatype == MPI_DOUBLE  
    136        || datatype == MPI_CHAR  
    137        || datatype == MPI_LONG  
    138        || datatype == MPI_UNSIGNED_LONG 
    139        || datatype == MPI_LONG_LONG) 
     133    if(   datatype == EP_INT  
     134       || datatype == EP_FLOAT 
     135       || datatype == EP_DOUBLE  
     136       || datatype == EP_CHAR  
     137       || datatype == EP_LONG  
     138       || datatype == EP_UNSIGNED_LONG 
     139       || datatype == EP_LONG_LONG) 
    140140    { 
    141141      return true; 
     
    148148  bool valid_op(MPI_Op op) 
    149149  { 
    150     if(   op == MPI_MAX  
    151        || op == MPI_MIN 
    152        || op == MPI_SUM 
    153        || op == MPI_LOR) 
     150    if(   op == EP_MAX  
     151       || op == EP_MIN 
     152       || op == EP_SUM 
     153       || op == EP_LOR) 
    154154    { 
    155155      return true; 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib.hpp

    r1539 r1642  
    5151  int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Request *request); 
    5252 
     53  int my_recv  (void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status); 
     54  int my_irecv (void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request); 
    5355 
    5456  int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); 
    5557  int MPI_Testall(int count, MPI_Request *array_of_requests, int *flag, MPI_Status *array_of_statuses); 
    5658 
     59  int my_test(MPI_Request *request, int *flag, MPI_Status *status); 
     60  int my_testall(int count, MPI_Request *array_of_requests, int *flag, MPI_Status *array_of_statuses); 
     61   
    5762  int MPI_Wait(MPI_Request *request, MPI_Status *status); 
    5863  int MPI_Waitall(int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses); 
    5964 
     65  int my_wait(MPI_Request *request, MPI_Status *status); 
     66  int my_waitall(int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses); 
    6067 
    6168  int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib_fortran.hpp

    r1369 r1642  
    44#include "ep_type.hpp" 
    55 
    6 namespace ep_lib 
    7 { 
     6//namespace ep_lib 
     7//{ 
    88 
    9   void* EP_Comm_c2f(MPI_Comm comm); 
    10   MPI_Comm EP_Comm_f2c(void* comm); 
    11 } 
     9  void* EP_Comm_c2f(ep_lib::MPI_Comm comm); 
     10  ep_lib::MPI_Comm EP_Comm_f2c(void* comm); 
     11//} 
    1212 
    1313 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_merge.cpp

    r1539 r1642  
    3636    int sum_high; 
    3737     
    38     MPI_Allreduce(&int_high, &sum_high, 1, MPI_INT, MPI_SUM, *newintracomm); 
     38    MPI_Allreduce(&int_high, &sum_high, 1, EP_INT, EP_SUM, *newintracomm); 
    3939 
    4040    if(sum_high==0 || sum_high==ep_size+remote_ep_size) 
     
    5555 
    5656     
    57     MPI_Allgather(my_triple, 3, MPI_INT, my_triple_list, 3, MPI_INT, *newintracomm);  
     57    MPI_Allgather(my_triple, 3, EP_INT, my_triple_list, 3, EP_INT, *newintracomm);  
    5858 
    5959 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_message.cpp

    r1539 r1642  
    147147    { 
    148148      Debug("Message probing for intracomm\n"); 
    149       
     149/*      
    150150      #pragma omp critical (_mpi_call) 
    151151      { 
     
    158158      } 
    159159 
    160        
     160*/     
     161      ::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm->mpi_comm), &flag, &message, &status);       
     162 
    161163      if(flag) 
    162164      { 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_mpi.hpp

    r1520 r1642  
    11#ifndef EP_MPI_HPP_INCLUDED 
    22#define EP_MPI_HPP_INCLUDED 
    3  
     3#ifdef _usingEP 
    44#include "ep_type.hpp" 
    5  
     5#endif 
    66MPI_Datatype to_mpi_type(ep_lib::MPI_Datatype type); 
    77MPI_Op       to_mpi_op(ep_lib::MPI_Op op); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_probe.cpp

    r1539 r1642  
    6868    *flag = false; 
    6969     
    70     Message_Check(comm); 
    71  
    72     #pragma omp flush 
    73  
    7470    #pragma omp critical (_query) 
    7571    for(Message_list::iterator it = comm->ep_comm_ptr->message_queue->begin(); it!= comm->ep_comm_ptr->message_queue->end(); ++it) 
     
    9894      } 
    9995    } 
     96    if(*flag) return 0; 
     97     
     98    Message_Check(comm); 
     99 
     100    #pragma omp flush 
     101 
     102    #pragma omp critical (_query) 
     103    for(Message_list::iterator it = comm->ep_comm_ptr->message_queue->begin(); it!= comm->ep_comm_ptr->message_queue->end(); ++it) 
     104    { 
     105      bool src_matched = src<0? true: (*it)->ep_src == src; 
     106      bool tag_matched = tag<0? true: (*it)->ep_tag == tag; 
     107       
     108      if(src_matched && tag_matched)         
     109      { 
     110        Debug("find message\n"); 
     111          
     112        status->mpi_status = new ::MPI_Status(*static_cast< ::MPI_Status*>((*it)->mpi_status)); 
     113        status->ep_src = (*it)->ep_src; 
     114        status->ep_tag = (*it)->ep_tag; 
     115         
     116        if(comm->is_intercomm) 
     117        { 
     118          for(INTER_RANK_MAP::iterator iter = comm->inter_rank_map->begin(); iter != comm->inter_rank_map->end(); iter++) 
     119          { 
     120            if(iter->second == (*it)->ep_src) status->ep_src=iter->first; 
     121          } 
     122        } 
     123 
     124        *flag = true; 
     125        break; 
     126      } 
     127    } 
     128    if(*flag) return 0; 
    100129  } 
    101130 
     
    129158    *flag = false; 
    130159     
    131     Message_Check(comm); 
    132      
    133     #pragma omp flush 
    134  
    135160    #pragma omp critical (_query) 
    136161    if(! comm->ep_comm_ptr->message_queue->empty()) 
     
    179204      } 
    180205    } 
     206 
     207    if(*flag) return 0; 
     208    
     209    Message_Check(comm); 
     210     
     211    #pragma omp flush 
     212 
     213    #pragma omp critical (_query) 
     214    if(! comm->ep_comm_ptr->message_queue->empty()) 
     215    { 
     216      for(Message_list::iterator it = comm->ep_comm_ptr->message_queue->begin(); it!= comm->ep_comm_ptr->message_queue->end(); ++it) 
     217      { 
     218                                           
     219        bool src_matched = src<0? true: (*it)->ep_src == src; 
     220        bool tag_matched = tag<0? true: (*it)->ep_tag == tag; 
     221         
     222        if(src_matched && tag_matched) 
     223        { 
     224          *flag = true; 
     225 
     226          status->mpi_status = new ::MPI_Status(*static_cast< ::MPI_Status*>((*it)->mpi_status)); 
     227          memcheck("new "<< status->mpi_status << " : in ep_lib::MPI_Improbe, status->mpi_status = new ::MPI_Status"); 
     228          status->ep_src = (*it)->ep_src; 
     229          status->ep_tag = (*it)->ep_tag; 
     230 
     231          (*message)->mpi_message = new ::MPI_Message(*static_cast< ::MPI_Message*>((*it)->mpi_message)); 
     232          memcheck("new "<< (*message)->mpi_message <<" : in ep_lib::MPI_Improbe, (*message)->mpi_message = new ::MPI_Message"); 
     233          (*message)->ep_src = (*it)->ep_src; 
     234          (*message)->ep_tag = (*it)->ep_tag; 
     235                                       
     236 
     237          #pragma omp critical (_query2) 
     238          {               
     239            memcheck("delete "<< (*it)->mpi_message <<" : in ep_lib::Message_Check, delete (*it)->mpi_message"); 
     240            memcheck("delete "<< (*it)->mpi_status <<" : in ep_lib::Message_Check, delete (*it)->mpi_status"); 
     241            memcheck("delete "<< (*it) <<" : in ep_lib::Message_Check, delete (*it)"); 
     242             
     243             
     244            delete (*it)->mpi_message;      
     245            delete (*it)->mpi_status;  
     246            delete *it; 
     247             
     248                        
     249            comm->ep_comm_ptr->message_queue->erase(it); 
     250            memcheck("message_queue["<<mpi_rank<<","<<ep_rank_loc<<"]->size = "<<comm->ep_comm_ptr->message_queue->size()); 
     251            #pragma omp flush 
     252          } 
     253           
     254          break; 
     255        } 
     256 
     257      } 
     258    } 
     259 
     260    if(*flag) return 0; 
     261 
    181262  } 
    182263 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_recv.cpp

    r1539 r1642  
    2222  int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status) 
    2323  { 
    24  
    2524    if(!comm->is_ep) return MPI_Recv_mpi(buf, count, datatype, src, tag, comm, status); 
    2625     
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_reduce.cpp

    r1540 r1642  
    8080      memcpy(recvbuf, comm->my_buffer->void_buffer[0], datasize * count); 
    8181 
    82       if(op == MPI_MAX) 
    83       { 
    84         if(datatype == MPI_INT) 
     82      if(op == EP_MAX) 
     83      { 
     84        if(datatype == EP_INT) 
    8585        { 
    8686          assert(datasize == sizeof(int)); 
     
    9696        } 
    9797 
    98         else if(datatype == MPI_DOUBLE) 
     98        else if(datatype == EP_DOUBLE) 
    9999        { 
    100100          assert(datasize == sizeof(double)); 
     
    103103        } 
    104104 
    105         else if(datatype == MPI_CHAR) 
     105        else if(datatype == EP_CHAR) 
    106106        { 
    107107          assert(datasize == sizeof(char)); 
     
    110110        } 
    111111 
    112         else if(datatype == MPI_LONG) 
     112        else if(datatype == EP_LONG) 
    113113        { 
    114114          assert(datasize == sizeof(long)); 
     
    117117        } 
    118118 
    119         else if(datatype == MPI_UNSIGNED_LONG) 
     119        else if(datatype == EP_UNSIGNED_LONG) 
    120120        { 
    121121          assert(datasize == sizeof(unsigned long)); 
     
    124124        } 
    125125 
    126         else if(datatype == MPI_LONG_LONG_INT) 
     126        else if(datatype == EP_LONG_LONG_INT) 
    127127        { 
    128128          assert(datasize == sizeof(long long)); 
     
    139139      } 
    140140 
    141       else if(op == MPI_MIN) 
    142       { 
    143         if(datatype ==MPI_INT) 
     141      else if(op == EP_MIN) 
     142      { 
     143        if(datatype ==EP_INT) 
    144144        { 
    145145          assert(datasize == sizeof(int)); 
     
    155155        } 
    156156 
    157         else if(datatype == MPI_DOUBLE) 
     157        else if(datatype == EP_DOUBLE) 
    158158        { 
    159159          assert(datasize == sizeof(double)); 
     
    162162        } 
    163163 
    164         else if(datatype == MPI_CHAR) 
     164        else if(datatype == EP_CHAR) 
    165165        { 
    166166          assert(datasize == sizeof(char)); 
     
    169169        } 
    170170 
    171         else if(datatype == MPI_LONG) 
     171        else if(datatype == EP_LONG) 
    172172        { 
    173173          assert(datasize == sizeof(long)); 
     
    176176        } 
    177177 
    178         else if(datatype == MPI_UNSIGNED_LONG) 
     178        else if(datatype == EP_UNSIGNED_LONG) 
    179179        { 
    180180          assert(datasize == sizeof(unsigned long)); 
     
    183183        } 
    184184 
    185         else if(datatype == MPI_LONG_LONG_INT) 
     185        else if(datatype == EP_LONG_LONG_INT) 
    186186        { 
    187187          assert(datasize == sizeof(long long)); 
     
    199199 
    200200 
    201       else if(op == MPI_SUM) 
    202       { 
    203         if(datatype==MPI_INT) 
     201      else if(op == EP_SUM) 
     202      { 
     203        if(datatype==EP_INT) 
    204204        { 
    205205          assert(datasize == sizeof(int)); 
     
    215215        } 
    216216 
    217         else if(datatype == MPI_DOUBLE) 
     217        else if(datatype == EP_DOUBLE) 
    218218        { 
    219219          assert(datasize == sizeof(double)); 
     
    222222        } 
    223223 
    224         else if(datatype == MPI_CHAR) 
     224        else if(datatype == EP_CHAR) 
    225225        { 
    226226          assert(datasize == sizeof(char)); 
     
    229229        } 
    230230 
    231         else if(datatype == MPI_LONG) 
     231        else if(datatype == EP_LONG) 
    232232        { 
    233233          assert(datasize == sizeof(long)); 
     
    236236        } 
    237237 
    238         else if(datatype ==MPI_UNSIGNED_LONG) 
     238        else if(datatype ==EP_UNSIGNED_LONG) 
    239239        { 
    240240          assert(datasize == sizeof(unsigned long)); 
     
    243243        } 
    244244         
    245         else if(datatype ==MPI_LONG_LONG_INT) 
     245        else if(datatype ==EP_LONG_LONG_INT) 
    246246        { 
    247247          assert(datasize == sizeof(long long)); 
     
    258258      } 
    259259 
    260       else if(op == MPI_LOR) 
    261       { 
    262         if(datatype != MPI_INT) 
     260      else if(op == EP_LOR) 
     261      { 
     262        if(datatype != EP_INT) 
    263263          printf("datatype Error, must be MPI_INT\n"); 
    264264        else 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_reduce_scatter.cpp

    r1539 r1642  
    6161 
    6262    int my_recvcount = recvcounts[ep_rank]; 
    63     MPI_Gather_local(&my_recvcount, 1, MPI_INT, local_recvcounts.data(), 0, comm); 
    64     MPI_Bcast_local(local_recvcounts.data(), num_ep, MPI_INT, 0, comm); 
     63    MPI_Gather_local(&my_recvcount, 1, EP_INT, local_recvcounts.data(), 0, comm); 
     64    MPI_Bcast_local(local_recvcounts.data(), num_ep, EP_INT, 0, comm); 
    6565 
    6666    int my_displs = std::accumulate(recvcounts, recvcounts+ep_rank, 0); 
    67     MPI_Gather_local(&my_displs, 1, MPI_INT, local_displs.data(), 0, comm); 
    68     MPI_Bcast_local(local_displs.data(), num_ep, MPI_INT, 0, comm); 
     67    MPI_Gather_local(&my_displs, 1, EP_INT, local_displs.data(), 0, comm); 
     68    MPI_Bcast_local(local_displs.data(), num_ep, EP_INT, 0, comm); 
    6969 
    7070     
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scan.cpp

    r1540 r1642  
    6060    if(ep_rank_loc == 0 && mpi_rank != 0) 
    6161    { 
    62       if(op == MPI_SUM) 
    63       { 
    64         if(datatype == MPI_INT) 
     62      if(op == EP_SUM) 
     63      { 
     64        if(datatype == EP_INT) 
    6565        { 
    6666          assert(datasize == sizeof(int)); 
     
    6868        } 
    6969           
    70         else if(datatype == MPI_FLOAT) 
     70        else if(datatype == EP_FLOAT) 
    7171        { 
    7272          assert( datasize == sizeof(float)); 
     
    7474        }  
    7575              
    76         else if(datatype == MPI_DOUBLE ) 
     76        else if(datatype == EP_DOUBLE ) 
    7777        { 
    7878          assert( datasize == sizeof(double)); 
     
    8080        } 
    8181       
    82         else if(datatype == MPI_CHAR) 
     82        else if(datatype == EP_CHAR) 
    8383        { 
    8484          assert( datasize == sizeof(char)); 
     
    8686        }  
    8787           
    88         else if(datatype == MPI_LONG) 
     88        else if(datatype == EP_LONG) 
    8989        { 
    9090          assert( datasize == sizeof(long)); 
     
    9393           
    9494             
    95         else if(datatype == MPI_UNSIGNED_LONG) 
     95        else if(datatype == EP_UNSIGNED_LONG) 
    9696        { 
    9797          assert(datasize == sizeof(unsigned long)); 
     
    9999        } 
    100100         
    101         else if(datatype == MPI_LONG_LONG_INT) 
     101        else if(datatype == EP_LONG_LONG_INT) 
    102102        { 
    103103          assert(datasize == sizeof(long long int)); 
     
    112112      } 
    113113 
    114       else if(op == MPI_MAX) 
    115       { 
    116         if(datatype == MPI_INT) 
     114      else if(op == EP_MAX) 
     115      { 
     116        if(datatype == EP_INT) 
    117117        { 
    118118          assert( datasize == sizeof(int)); 
     
    120120        }  
    121121           
    122         else if(datatype == MPI_FLOAT ) 
     122        else if(datatype == EP_FLOAT ) 
    123123        { 
    124124          assert( datasize == sizeof(float)); 
     
    126126        } 
    127127 
    128         else if(datatype == MPI_DOUBLE ) 
     128        else if(datatype == EP_DOUBLE ) 
    129129        { 
    130130          assert( datasize == sizeof(double)); 
     
    132132        } 
    133133       
    134         else if(datatype == MPI_CHAR ) 
     134        else if(datatype == EP_CHAR ) 
    135135        { 
    136136          assert(datasize == sizeof(char)); 
     
    138138        } 
    139139       
    140         else if(datatype == MPI_LONG) 
     140        else if(datatype == EP_LONG) 
    141141        { 
    142142          assert( datasize == sizeof(long)); 
     
    144144        }  
    145145             
    146         else if(datatype == MPI_UNSIGNED_LONG) 
     146        else if(datatype == EP_UNSIGNED_LONG) 
    147147        { 
    148148          assert( datasize == sizeof(unsigned long)); 
     
    150150        }  
    151151             
    152         else if(datatype == MPI_LONG_LONG_INT) 
     152        else if(datatype == EP_LONG_LONG_INT) 
    153153        { 
    154154          assert(datasize == sizeof(long long int)); 
     
    163163      } 
    164164 
    165       else if(op == MPI_MIN) 
    166       { 
    167         if(datatype == MPI_INT ) 
     165      else if(op == EP_MIN) 
     166      { 
     167        if(datatype == EP_INT ) 
    168168        { 
    169169          assert (datasize == sizeof(int)); 
     
    171171        } 
    172172           
    173         else if(datatype == MPI_FLOAT ) 
     173        else if(datatype == EP_FLOAT ) 
    174174        { 
    175175          assert( datasize == sizeof(float)); 
     
    177177        } 
    178178              
    179         else if(datatype == MPI_DOUBLE ) 
     179        else if(datatype == EP_DOUBLE ) 
    180180        { 
    181181          assert( datasize == sizeof(double)); 
     
    183183        } 
    184184       
    185         else if(datatype == MPI_CHAR ) 
     185        else if(datatype == EP_CHAR ) 
    186186        { 
    187187          assert( datasize == sizeof(char)); 
     
    189189        } 
    190190       
    191         else if(datatype == MPI_LONG ) 
     191        else if(datatype == EP_LONG ) 
    192192        {  
    193193          assert( datasize == sizeof(long)); 
     
    195195        } 
    196196             
    197         else if(datatype == MPI_UNSIGNED_LONG ) 
     197        else if(datatype == EP_UNSIGNED_LONG ) 
    198198        { 
    199199          assert( datasize == sizeof(unsigned long)); 
     
    201201        } 
    202202             
    203         else if(datatype == MPI_LONG_LONG_INT) 
     203        else if(datatype == EP_LONG_LONG_INT) 
    204204        { 
    205205          assert(datasize == sizeof(long long int)); 
     
    235235 
    236236 
    237     if(op == MPI_SUM) 
    238     { 
    239       if(datatype == MPI_INT ) 
     237    if(op == EP_SUM) 
     238    { 
     239      if(datatype == EP_INT ) 
    240240      { 
    241241        assert (datasize == sizeof(int)); 
     
    244244      } 
    245245      
    246       else if(datatype == MPI_FLOAT ) 
     246      else if(datatype == EP_FLOAT ) 
    247247      { 
    248248        assert(datasize == sizeof(float)); 
     
    252252       
    253253 
    254       else if(datatype == MPI_DOUBLE ) 
     254      else if(datatype == EP_DOUBLE ) 
    255255      { 
    256256        assert(datasize == sizeof(double)); 
     
    259259      } 
    260260 
    261       else if(datatype == MPI_CHAR ) 
     261      else if(datatype == EP_CHAR ) 
    262262      { 
    263263        assert(datasize == sizeof(char)); 
     
    266266      } 
    267267 
    268       else if(datatype == MPI_LONG ) 
     268      else if(datatype == EP_LONG ) 
    269269      { 
    270270        assert(datasize == sizeof(long)); 
     
    273273      } 
    274274 
    275       else if(datatype == MPI_UNSIGNED_LONG ) 
     275      else if(datatype == EP_UNSIGNED_LONG ) 
    276276      { 
    277277        assert(datasize == sizeof(unsigned long)); 
     
    280280      } 
    281281       
    282       else if(datatype == MPI_LONG_LONG_INT ) 
     282      else if(datatype == EP_LONG_LONG_INT ) 
    283283      { 
    284284        assert(datasize == sizeof(long long int)); 
     
    296296    } 
    297297 
    298     else if(op == MPI_MAX) 
    299     { 
    300       if(datatype == MPI_INT) 
     298    else if(op == EP_MAX) 
     299    { 
     300      if(datatype == EP_INT) 
    301301      { 
    302302        assert(datasize == sizeof(int)); 
     
    305305      } 
    306306 
    307       else if(datatype == MPI_FLOAT ) 
     307      else if(datatype == EP_FLOAT ) 
    308308      { 
    309309        assert(datasize == sizeof(float)); 
     
    312312      } 
    313313 
    314       else if(datatype == MPI_DOUBLE ) 
     314      else if(datatype == EP_DOUBLE ) 
    315315      { 
    316316        assert(datasize == sizeof(double)); 
     
    319319      } 
    320320 
    321       else if(datatype == MPI_CHAR ) 
     321      else if(datatype == EP_CHAR ) 
    322322      { 
    323323        assert(datasize == sizeof(char)); 
     
    326326      } 
    327327 
    328       else if(datatype == MPI_LONG ) 
     328      else if(datatype == EP_LONG ) 
    329329      { 
    330330        assert(datasize == sizeof(long)); 
     
    333333      } 
    334334 
    335       else if(datatype == MPI_UNSIGNED_LONG ) 
     335      else if(datatype == EP_UNSIGNED_LONG ) 
    336336      { 
    337337        assert(datasize == sizeof(unsigned long)); 
     
    340340      } 
    341341      
    342       else if(datatype == MPI_LONG_LONG_INT ) 
     342      else if(datatype == EP_LONG_LONG_INT ) 
    343343      { 
    344344        assert(datasize == sizeof(long long int)); 
     
    355355    } 
    356356 
    357     else if(op == MPI_MIN) 
    358     { 
    359       if(datatype == MPI_INT ) 
     357    else if(op == EP_MIN) 
     358    { 
     359      if(datatype == EP_INT ) 
    360360      { 
    361361        assert(datasize == sizeof(int)); 
     
    364364      } 
    365365 
    366       else if(datatype == MPI_FLOAT ) 
     366      else if(datatype == EP_FLOAT ) 
    367367      { 
    368368        assert(datasize == sizeof(float)); 
     
    371371      } 
    372372 
    373       else if(datatype == MPI_DOUBLE ) 
     373      else if(datatype == EP_DOUBLE ) 
    374374      { 
    375375        assert(datasize == sizeof(double)); 
     
    378378      } 
    379379 
    380       else if(datatype == MPI_CHAR ) 
     380      else if(datatype == EP_CHAR ) 
    381381      { 
    382382        assert(datasize == sizeof(char)); 
     
    385385      } 
    386386 
    387       else if(datatype == MPI_LONG ) 
     387      else if(datatype == EP_LONG ) 
    388388      { 
    389389        assert(datasize == sizeof(long)); 
     
    392392      } 
    393393 
    394       else if(datatype == MPI_UNSIGNED_LONG ) 
     394      else if(datatype == EP_UNSIGNED_LONG ) 
    395395      { 
    396396        assert(datasize == sizeof(unsigned long)); 
     
    399399      } 
    400400 
    401       else if(datatype == MPI_LONG_LONG_INT ) 
     401      else if(datatype == EP_LONG_LONG_INT ) 
    402402      { 
    403403        assert(datasize == sizeof(long long int)); 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_scatter.cpp

    r1539 r1642  
    7373    std::vector<int>ranks(ep_size); 
    7474 
    75     if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), root_ep_loc, comm); 
    76     else                          MPI_Gather_local(&ep_rank, 1, MPI_INT, local_ranks.data(), 0, comm); 
     75    if(mpi_rank == root_mpi_rank) MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), root_ep_loc, comm); 
     76    else                          MPI_Gather_local(&ep_rank, 1, EP_INT, local_ranks.data(), 0, comm); 
    7777 
    7878 
     
    9191        displs[i] = displs[i-1] + recvcounts[i-1]; 
    9292 
    93       ::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)); 
     93      ::MPI_Gatherv(local_ranks.data(), num_ep, to_mpi_type(EP_INT), ranks.data(), recvcounts.data(), displs.data(), to_mpi_type(EP_INT), root_mpi_rank, to_mpi_comm(comm->mpi_comm)); 
    9494    } 
    9595 
     
    109109    { 
    110110      int local_sendcount = num_ep * count; 
    111       ::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)); 
     111      ::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)); 
    112112       
    113113      if(is_root) for(int i=1; i<mpi_size; i++) displs[i] = displs[i-1] + recvcounts[i-1]; 
  • 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]; 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_split.cpp

    r1539 r1642  
    5454    vector<int> all_color_loc(num_ep); 
    5555 
    56     MPI_Allgather(&color, 1, MPI_INT, all_color.data(), 1, MPI_INT, comm); 
    57     MPI_Allgather_local(&color, 1, MPI_INT, all_color_loc.data(), comm); 
     56    MPI_Allgather(&color, 1, EP_INT, all_color.data(), 1, EP_INT, comm); 
     57    MPI_Allgather_local(&color, 1, EP_INT, all_color_loc.data(), comm); 
    5858 
    5959    list<int> color_list(all_color.begin(), all_color.end()); 
     
    106106     
    107107 
    108     MPI_Allgather(&key, 1, MPI_INT, all_key.data(),1, MPI_INT, comm); 
    109     MPI_Allgather_local(&key, 1, MPI_INT, all_key_loc.data(), comm); 
     108    MPI_Allgather(&key, 1, EP_INT, all_key.data(),1, EP_INT, comm); 
     109    MPI_Allgather_local(&key, 1, EP_INT, all_key_loc.data(), comm); 
    110110     
    111111    vector<int> all_ep_rank(ep_size); 
     
    115115    vector<int> colored_ep_rank_loc[num_color]; 
    116116     
    117     MPI_Allgather(&ep_rank, 1, MPI_INT, all_ep_rank.data(),1, MPI_INT, comm); 
    118     MPI_Allgather_local(&ep_rank, 1, MPI_INT, all_ep_rank_loc.data(), comm); 
     117    MPI_Allgather(&ep_rank, 1, EP_INT, all_ep_rank.data(),1, EP_INT, comm); 
     118    MPI_Allgather_local(&ep_rank, 1, EP_INT, all_ep_rank_loc.data(), comm); 
    119119 
    120120    for(int i=0; i<num_ep; i++) 
     
    270270        if(new_ep_rank_loc == 0) my_triple_vector_recv.resize(3*new_ep_size); 
    271271         
    272         MPI_Gather_local(my_triple, 3, MPI_INT, my_triple_vector.data(), 0, *newcomm); 
     272        MPI_Gather_local(my_triple, 3, EP_INT, my_triple_vector.data(), 0, *newcomm); 
    273273         
    274274        if(new_ep_rank_loc == 0) 
     
    277277          int *displs = new int[new_mpi_size]; 
    278278          int new_num_epx3 = new_num_ep * 3; 
    279           ::MPI_Allgather(&new_num_epx3, 1, to_mpi_type(MPI_INT), recvcounts, 1, to_mpi_type(MPI_INT), to_mpi_comm((*newcomm)->mpi_comm)); 
     279          ::MPI_Allgather(&new_num_epx3, 1, to_mpi_type(EP_INT), recvcounts, 1, to_mpi_type(EP_INT), to_mpi_comm((*newcomm)->mpi_comm)); 
    280280          displs[0]=0; 
    281281          for(int i=1; i<new_mpi_size; i++) 
    282282            displs[i] = displs[i-1] + recvcounts[i-1]; 
    283283              
    284           ::MPI_Allgatherv(my_triple_vector.data(), 3*new_num_ep, to_mpi_type(MPI_INT), my_triple_vector_recv.data(), recvcounts, displs, to_mpi_type(MPI_INT), to_mpi_comm((*newcomm)->mpi_comm)); 
     284          ::MPI_Allgatherv(my_triple_vector.data(), 3*new_num_ep, to_mpi_type(EP_INT), my_triple_vector_recv.data(), recvcounts, displs, to_mpi_type(EP_INT), to_mpi_comm((*newcomm)->mpi_comm)); 
    285285           
    286286          for(int i=0; i<new_ep_size; i++) 
    287287          { 
    288             (*newcomm)->ep_comm_ptr->comm_list[0]->ep_rank_map->insert(std::pair< int, std::pair<int,int> >(my_triple_vector_recv[3*i], my_triple_vector_recv[3*i+1], my_triple_vector_recv[3*i+2])); 
     288            //(*newcomm)->ep_comm_ptr->comm_list[0]->ep_rank_map->insert(std::pair< int, std::pair<int,int> >(my_triple_vector_recv[3*i], my_triple_vector_recv[3*i+1], my_triple_vector_recv[3*i+2])); 
     289            (*((*newcomm)->ep_comm_ptr->comm_list[0]->ep_rank_map)) [ my_triple_vector_recv[3*i] ] = std::make_pair(my_triple_vector_recv[3*i+1], my_triple_vector_recv[3*i+2]); 
    289290          } 
    290291           
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.hpp

    r1539 r1642  
    6868     
    6969    MPI_Fint() {} 
    70     MPI_Fint(void* fint); 
     70    MPI_Fint(void* fint) {mpi_fint = fint;}; 
    7171                                  
    7272  }; 
  • XIOS/dev/branch_openmp/extern/src_ep_dev/ep_win.cpp

    r1521 r1642  
    2121 
    2222    int num_ep_max; 
    23     MPI_Allreduce(&num_ep, &num_ep_max, 1, MPI_INT, MPI_MAX, comm); 
     23    MPI_Allreduce(&num_ep, &num_ep_max, 1, EP_INT, EP_MAX, comm); 
    2424 
    2525    assert(num_ep_max > 1); 
     
    8888     
    8989    int num_ep_max; 
    90     MPI_Allreduce(&num_ep, &num_ep_max, 1, MPI_INT, MPI_MAX, (*win)->comm); 
     90    MPI_Allreduce(&num_ep, &num_ep_max, 1, EP_INT, EP_MAX, (*win)->comm); 
    9191 
    9292    //printf("rank_loc = %d, thread_num = %d, num_ep_max = %d\n", rank_loc, omp_get_thread_num(), num_ep_max); 
     
    139139     
    140140    int num_ep_max; 
    141     MPI_Allreduce(&num_ep, &num_ep_max, 1, MPI_INT, MPI_MAX, win->comm); 
     141    MPI_Allreduce(&num_ep, &num_ep_max, 1, EP_INT, EP_MAX, win->comm); 
    142142 
    143143    if(num_ep == 1) 
Note: See TracChangeset for help on using the changeset viewer.