From: Kirk, B. (JSC-EG311) <ben...@na...> - 2014-01-25 02:12:26
|
If I read it right, all we need is a gather_packed_range, and the rest should be easy… I'll create an issue, can this wait until Monday+ for implementation? On Jan 24, 2014, at 8:09 PM, Derek Gaston <fri...@gm...> wrote: > Awesome Ben - that's what I was thinking. I appreciate you taking a look... > > Detek > > On Friday, January 24, 2014, Kirk, Benjamin (JSC-EG311) <ben...@na...> wrote: > On Jan 24, 2014, at 4:32 PM, Derek Gaston <fri...@gm...> wrote: > > > We utilize this in the output system when we're trying to output a ParallelMesh using a serial format (like Exodus). In that case we really don't need the mesh on _every_ processor.... only on processor 0. > > > > It would be better to use something like MeshCommunication::localize_to_one() to bring the mesh down to processor 0 and output it then get rid of the remote elements again (like what MeshSerializer does, but not all-to-all). > > > > Does that make sense to you guys? > > > > I understand that we shouldn't really be using a serial output format with ParallelMesh... but there are times when it's going to happen so no reason to be so wasteful ;-) > > I'd say then we need a MeshCommunication::gather(proc_id root_id) or something, which can gather to any rank. I'll have a look at all gather and see if it could be generalized - perhaps it would be easy to have one implementation where the default value is an invalid proc_id and the behavior is allgather, but an optional input could control the rank that gathers? > > -Ben > > > > -- > Sent from my iPhone |