LIP_Datamap_create( LIP_DATAMAP_BLOCK, l, &l_loc, LIP_INDEXTYPE_INT, 1, 0, &blockdata ); LIP_create_hilbert_distribution_in_core(blockdata,&irrdata, xx,yy,NULL,vertex,edge,minedge,sample); LIP_Schedule_create( l_l, &sch_rem ); LIP_remap_in_core(blockdata,irrdata,&sch_rem); LIP_Datamap_free(&blockdata,0); LIP_Schedule_commit( &sch_rem ); LIP_Gather(x,x2,MPI_DOUBLE,sch_rem); LIP_Schedule_free(&sch_rem); |
The LIP_remap_in_core function creates a communication schedule that should be used in the LIP_Gather function to move data according to new mapping. The rest of the program is the same as the regular in-core version using the new x2[] data array.
Next: Irregular Out-of-core Distribution
Up: Detailed Examples
Previous: Indices and Data Out-of-core
  Contents
Created by Katarzyna Zając