On Fri, Feb 17, 2012 at 1:46 PM, Blaise Bourdin <bourdin@lsu.edu> wrote:
Hi,
Is there an easy way to gather all values of an IS across all processes in a communicator while removing duplicates?
Basically, I want to go from
[0] Number of indices in set 2
[0] 0 1
[0] 1 2
[1] Number of indices in set 2
[1] 0 2
[1] 1 3
to
[0] Number of indices in set 3
[0] 0 1
[0] 1 2
[0] 2 3
[1] Number of indices in set 3
[1] 0 1
[1] 1 2
[1] 2 3
The way I do it right now is
ierr = ISGetTotalIndices(csIS,&labels);CHKERRQ(ierr);
ierr = ISGetSize(csIS,&num_cs_global);CHKERRQ(ierr);
ierr = ISRestoreTotalIndices(csIS,&labels);CHKERRQ(ierr);
Blaise
--
Department of Mathematics and Center for Computation & Technology
Louisiana State University, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin