[Trilinos-Users] [EXTERNAL] 2 zoltan questions

Biddiscombe, John A. biddisco at cscs.ch
Wed Dec 19 14:25:31 MST 2012


Karen

>>
In the unpack callback, there are no guarantees about the Ids being monotonically increasing.  I suspect you are getting this lucky behavior because your Ids are nicely ordered within processors to begin with.  
<<

OK understood. I suspect I'm just getting lucky then. However, the monotonic requirement won't be a show stopper it just makes my insertion check simpler. I'm using a std::map, but the key is the GID and the value is the offset, if I do a lower/upper bound on the GID and check the offset (diff between GID and LID) of the last point and it's the same as the point I'm inserting, then I don't need to store the new point, just assume the offset is the same. Saving me a lot of memory for the moment.

>>
For purely on-processor data, you can efficiently map global Ids to local indices with a hash table or std::map.  For mapping global Ids to remote local ids, you can use the Zoltan distributed data directory.  If you decide to use the data directory, I am happy to provide instructions.
http://www.cs.sandia.gov/zoltan/ug_html/ug_util_dd.html
<<

Thanks. I'll look at this.

>
Yes, the interface to Zoltan2 is much different from Zoltan.  In Zoltan2, users will instantiate an input adapter that describes their problem; input adapters currently supported describe meshes, matrices, coordinates, identifiers, and graphs.  The benefit is that users who have, say, a mesh, no longer will have to convert their mesh to graphs or hypergraphs;
Zoltan2 will do the appropriate conversion based on mesh adjacencies.
While we plan to create a Zoltan1-input adapter to allow easier conversion to Zoltan2, this adapter is not yet available.  Which partitioning methods are you using?
<

OK. I hope main code remains unchanged. (I do load-balance points, with auto-migrate, then locate ghost points or cells I want to exchange, do invert lists and manual migrate - I presume (hope) this basic sequence will stay the same even if the mechanism by which I invoke it changes. I'm using plain RCB at the moment but eventually will want to experiment with others one day :) 

Thanks

JB









More information about the Trilinos-Users mailing list