1*c4762a1bSJed BrownInitial Vec A 2*c4762a1bSJed BrownVec Object: 1 MPI processes 3*c4762a1bSJed Brown type: seq 4*c4762a1bSJed Brown0. 5*c4762a1bSJed Brown1. 6*c4762a1bSJed Brown2. 7*c4762a1bSJed Brown3. 8*c4762a1bSJed Brown 9*c4762a1bSJed BrownBroadcast A->B over sfA 10*c4762a1bSJed BrownVec Object: 1 MPI processes 11*c4762a1bSJed Brown type: seq 12*c4762a1bSJed Brown3. 13*c4762a1bSJed Brown2. 14*c4762a1bSJed Brown1. 15*c4762a1bSJed Brown0. 16*c4762a1bSJed Brown 17*c4762a1bSJed BrownBroadcast B->BA over sfB 18*c4762a1bSJed BrownVec Object: 1 MPI processes 19*c4762a1bSJed Brown type: seq 20*c4762a1bSJed Brown3. 21*c4762a1bSJed Brown2. 22*c4762a1bSJed Brown1. 23*c4762a1bSJed Brown0. 24*c4762a1bSJed Brown 25*c4762a1bSJed BrownBroadcast A->BA over sfBA (sfB o sfA) 26*c4762a1bSJed BrownVec Object: 1 MPI processes 27*c4762a1bSJed Brown type: seq 28*c4762a1bSJed Brown3. 29*c4762a1bSJed Brown2. 30*c4762a1bSJed Brown1. 31*c4762a1bSJed Brown0. 32*c4762a1bSJed BrownPetscSF Object: sfA 1 MPI processes 33*c4762a1bSJed Brown type: basic 34*c4762a1bSJed Brown sort=rank-order 35*c4762a1bSJed Brown [0] Number of roots=4, leaves=4, remote ranks=1 36*c4762a1bSJed Brown [0] 3 <- (0,0) 37*c4762a1bSJed Brown [0] 2 <- (0,1) 38*c4762a1bSJed Brown [0] 1 <- (0,2) 39*c4762a1bSJed Brown [0] 0 <- (0,3) 40*c4762a1bSJed BrownPetscSF Object: sfB 1 MPI processes 41*c4762a1bSJed Brown type: basic 42*c4762a1bSJed Brown sort=rank-order 43*c4762a1bSJed Brown [0] Number of roots=4, leaves=4, remote ranks=1 44*c4762a1bSJed Brown [0] 0 <- (0,0) 45*c4762a1bSJed Brown [0] 1 <- (0,1) 46*c4762a1bSJed Brown [0] 2 <- (0,2) 47*c4762a1bSJed Brown [0] 3 <- (0,3) 48*c4762a1bSJed BrownPetscSF Object: (sfB o sfA) 1 MPI processes 49*c4762a1bSJed Brown type: basic 50*c4762a1bSJed Brown sort=rank-order 51*c4762a1bSJed Brown [0] Number of roots=4, leaves=4, remote ranks=1 52*c4762a1bSJed Brown [0] 0 <- (0,3) 53*c4762a1bSJed Brown [0] 1 <- (0,2) 54*c4762a1bSJed Brown [0] 2 <- (0,1) 55*c4762a1bSJed Brown [0] 3 <- (0,0) 56