Ignore:
Timestamp:
03/14/17 19:12:25 (7 years ago)
Author:
yushan
Message:

Using threads : modif for xios_initialize

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/extern/src_ep_dev/ep_intercomm_world.cpp

    r1067 r1072  
    417417 
    418418            found = true; 
    419             tag_list.erase(iter); 
     419            //tag_list.erase(iter); 
    420420            break; 
    421421          } 
     
    426426    MPI_Barrier_local(local_comm); 
    427427 
    428     // if(is_proc_master) 
    429     // { 
    430     //   for(std::list<std::pair < std::pair<int,int>, MPI_Comm* > >::iterator iter = tag_list.begin(); iter!=tag_list.end(); iter++) 
    431     //   { 
    432     //     if((*iter).first == make_pair(tag, min(leader_info[0], leader_info[1]))) 
    433     //     { 
    434     //       tag_list.erase(iter); 
    435     //     } 
    436     //   } 
    437     // } 
     428    if(is_proc_master) 
     429    { 
     430      for(std::list<std::pair < std::pair<int,int>, MPI_Comm* > >::iterator iter = tag_list.begin(); iter!=tag_list.end(); iter++) 
     431      { 
     432        if((*iter).first == make_pair(tag, min(leader_info[0], leader_info[1]))) 
     433        { 
     434          tag_list.erase(iter); 
     435          break; 
     436        } 
     437      } 
     438    } 
    438439 
    439440     
     
    934935 
    935936            found = true; 
    936             tag_list.erase(iter); 
     937            //tag_list.erase(iter); 
    937938            break; 
    938939          } 
     
    943944    MPI_Barrier_local(local_comm); 
    944945 
    945     // if(is_proc_master) 
    946     // { 
    947     //   for(std::list<std::pair < std::pair<int,int>, MPI_Comm* > >::iterator iter = tag_list.begin(); iter!=tag_list.end(); iter++) 
    948     //   { 
    949     //     if((*iter).first == make_pair(tag, min(leader_info[0], leader_info[1]))) 
    950     //     { 
    951     //       tag_list.erase(iter); 
    952     //     } 
    953     //   } 
    954     // } 
     946    if(is_proc_master) 
     947    { 
     948      for(std::list<std::pair < std::pair<int,int>, MPI_Comm* > >::iterator iter = tag_list.begin(); iter!=tag_list.end(); iter++) 
     949      { 
     950        if((*iter).first == make_pair(tag, min(leader_info[0], leader_info[1]))) 
     951        { 
     952          tag_list.erase(iter); 
     953          break; 
     954        } 
     955      } 
     956    } 
    955957 
    956958    int intercomm_ep_rank, intercomm_ep_rank_loc, intercomm_mpi_rank; 
Note: See TracChangeset for help on using the changeset viewer.