Ignore:
Timestamp:
10/06/17 13:56:33 (6 years ago)
Author:
yushan
Message:

EP update all

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_openmp/extern/remap/src/parallel_tree.cpp

    r1220 r1295  
    158158        int nrecv; // global number of samples  THIS WILL BE THE NUMBER OF LEAFS IN THE SAMPLE TREE 
    159159        MPI_Allreduce(&n, &nrecv, 1, MPI_INT, MPI_SUM, comm.comm); // => size of sample tree does not depend on keepNodes! 
     160 
    160161        double ratio = blocSize / (1.0 * nrecv); 
    161162        int nsend = ratio * n + 1; // nsend = n_local_samples / n_global_samples * blocksize + 1 = blocksize/comm.size 
     
    194195        delete[] displs; 
    195196 
    196         /* unpack */ 
    197 /* 
    198         randomArray.resize(nrecv); 
    199         randomizeArray(randomArray); 
    200         tree.leafs.resize(nrecv); 
    201         index = 0; 
    202  
    203  
    204   for (int i = 0; i < nrecv; i++) 
    205         { 
    206                 Coord x = *(Coord *)(&recvBuffer[index]); 
    207                 index += sizeof(Coord)/sizeof(*recvBuffer); 
    208                 double radius = recvBuffer[index++]; 
    209                 tree.leafs[randomArray[i]].centre = x; 
    210                 tree.leafs[randomArray[i]].radius = radius; 
    211  
    212         } 
    213 */ 
    214197 
    215198  randomArray.resize(blocSize); 
     
    246229    cerr << comm.rank << ": PROBLEM: (node assign)" << tree.levelSize[assignLevel] << " != " << comm.group_size << " (keepNodes)"  
    247230         << "   node size : "<<node.size()<<"   bloc size : "<<blocSize<<"  total number of leaf : "<<tree.leafs.size()<<endl ; 
    248 /* 
    249         MPI_Allreduce(&ok, &allok, 1, MPI_INT, MPI_PROD, communicator); 
    250         if (!allok) { 
    251                 MPI_Finalize(); 
    252                 exit(1); 
    253         } 
    254 */ 
     231 
    255232    MPI_Abort(MPI_COMM_WORLD,-1) ; 
    256233  } 
     
    323300  nb=nb1+nb2 ; 
    324301  MPI_Allreduce(&nb, &nbTot, 1, MPI_LONG, MPI_SUM, communicator) ; 
     302 
     303 
    325304  int commSize ; 
    326305  MPI_Comm_size(communicator,&commSize) ; 
     
    345324  randomizeArray(randomArray2); 
    346325 
    347 /*       
    348         int s1,s2 ; 
    349          
    350         if (node.size()< nbSampleNodes/2) 
    351         {  
    352           s1 = node.size() ; 
    353           s2 = nbSampleNodes-s1 ; 
    354         } 
    355         else if (node2.size()< nbSampleNodes/2) 
    356         { 
    357           s2 = node.size() ; 
    358           s1 = nbSampleNodes-s2 ; 
    359         } 
    360         else 
    361         { 
    362           s1=nbSampleNodes/2 ; 
    363           s2=nbSampleNodes/2 ; 
    364         } 
    365 */ 
    366         for (int i = 0; i <nbSampleNodes1; i++) sampleNodes.push_back(Node(node[randomArray1[i%nb1]].centre,  node[randomArray1[i%nb1]].radius, NULL)); 
    367         for (int i = 0; i <nbSampleNodes2; i++) sampleNodes.push_back(Node(node2[randomArray2[i%nb2]].centre, node2[randomArray2[i%nb2]].radius, NULL)); 
    368  
    369 /*           
    370         for (int i = 0; i < nbSampleNodes/2; i++) 
    371         { 
    372           sampleNodes.push_back(Node(node[randomArray1[i]].centre,  node[randomArray1[i]].radius, NULL)); 
    373           sampleNodes.push_back(Node(node2[randomArray2[i]].centre, node2[randomArray2[i]].radius, NULL)); 
    374         } 
    375 */ 
     326  for (int i = 0; i <nbSampleNodes1; i++) sampleNodes.push_back(Node(node[randomArray1[i%nb1]].centre,  node[randomArray1[i%nb1]].radius, NULL)); 
     327  for (int i = 0; i <nbSampleNodes2; i++) sampleNodes.push_back(Node(node2[randomArray2[i%nb2]].centre, node2[randomArray2[i%nb2]].radius, NULL)); 
     328 
    376329        CTimer::get("buildParallelSampleTree").resume(); 
    377330        //sampleTree.buildParallelSampleTree(sampleNodes, cascade); 
Note: See TracChangeset for help on using the changeset viewer.