1PetscSF Object: 4 MPI processes 2 type: basic 3 [0] Number of roots=3, leaves=2, remote ranks=2 4 [0] 0 <- (3,1) 5 [0] 1 <- (1,0) 6 [1] Number of roots=2, leaves=3, remote ranks=2 7 [1] 0 <- (0,1) 8 [1] 1 <- (2,0) 9 [1] 2 <- (0,2) 10 [2] Number of roots=2, leaves=3, remote ranks=3 11 [2] 0 <- (1,1) 12 [2] 1 <- (3,0) 13 [2] 2 <- (0,2) 14 [3] Number of roots=2, leaves=3, remote ranks=2 15 [3] 0 <- (2,1) 16 [3] 1 <- (0,0) 17 [3] 2 <- (0,2) 18 [0] Roots referenced by my leaves, by rank 19 [0] 1: 1 edges 20 [0] 1 <- 0 21 [0] 3: 1 edges 22 [0] 0 <- 1 23 [1] Roots referenced by my leaves, by rank 24 [1] 0: 2 edges 25 [1] 0 <- 1 26 [1] 2 <- 2 27 [1] 2: 1 edges 28 [1] 1 <- 0 29 [2] Roots referenced by my leaves, by rank 30 [2] 0: 1 edges 31 [2] 2 <- 2 32 [2] 1: 1 edges 33 [2] 0 <- 1 34 [2] 3: 1 edges 35 [2] 1 <- 0 36 [3] Roots referenced by my leaves, by rank 37 [3] 0: 2 edges 38 [3] 1 <- 0 39 [3] 2 <- 2 40 [3] 2: 1 edges 41 [3] 0 <- 1 42 MultiSF sort=rank-order 43## Bcast Rootdata 44[0] 0: 100 101 102 45[1] 0: 200 201 46[2] 0: 300 301 47[3] 0: 400 401 48## Bcast Leafdata 49[0] 0: 401 200 50[1] 0: 101 300 102 51[2] 0: 201 400 102 52[3] 0: 301 100 102 53## Bcast Rootdata in type of char 54 0: A B C 55 1: D E 56 2: G H 57 3: J K 58## Bcast Leafdata in type of char 59 0: K D 60 1: B G C 61 2: E J C 62 3: H A C 63## Pre-Reduce Rootdata 64[0] 0: 100 101 102 65[1] 0: 200 201 66[2] 0: 300 301 67[3] 0: 400 401 68## Reduce Leafdata 69[0] 0: 1000 1010 70[1] 0: 2000 2010 2020 71[2] 0: 3000 3010 3020 72[3] 0: 4000 4010 4020 73## Reduce Rootdata 74[0] 0: 4110 2101 9162 75[1] 0: 1210 3201 76[2] 0: 2310 4301 77[3] 0: 3410 1401 78## Pre-Reduce Rootdata in type of signed char 79 0: 10 11 12 80 1: 20 21 81 2: 30 31 82 3: 40 41 83## Reduce Leafdata in type of signed char 84 0: 50 60 85 1: 100 110 120 86 2: -106 -96 -86 87 3: -56 -46 -36 88## Reduce Rootdata in type of signed char 89 0: -36 111 10 90 1: 80 -85 91 2: -116 -25 92 3: -56 91 93## Pre-Reduce Rootdata in type of unsigned char 94 0: 10 11 12 95 1: 20 21 96 2: 30 31 97 3: 40 41 98## Reduce Leafdata in type of unsigned char 99 0: 50 60 100 1: 100 110 120 101 2: 150 160 170 102 3: 200 210 220 103## Reduce Rootdata in type of unsigned char 104 0: 220 111 10 105 1: 80 171 106 2: 140 231 107 3: 200 91 108## Root degrees 109[0] 0: 1 1 3 110[1] 0: 1 1 111[2] 0: 1 1 112[3] 0: 1 1 113## Gathered data at multi-roots from leaves 114[0] 0: 4001 2000 2002 3002 4002 115[1] 0: 1001 3000 116[2] 0: 2001 4000 117[3] 0: 3001 1000 118## Data at multi-roots, to scatter to leaves 119[0] 0: 1000 1100 1200 1201 1202 120[1] 0: 2000 2100 121[2] 0: 3000 3100 122[3] 0: 4000 4100 123## Scattered data at leaves 124[0] 0: 4100 2000 125[1] 0: 1100 3000 1200 126[2] 0: 2100 4000 1201 127[3] 0: 3100 1000 1202 128## Embedded PetscSF 129PetscSF Object: 4 MPI processes 130 type: basic 131 [0] Number of roots=3, leaves=1, remote ranks=1 132 [0] 0 <- (3,1) 133 [1] Number of roots=2, leaves=2, remote ranks=1 134 [1] 0 <- (0,1) 135 [1] 2 <- (0,2) 136 [2] Number of roots=2, leaves=2, remote ranks=2 137 [2] 0 <- (1,1) 138 [2] 2 <- (0,2) 139 [3] Number of roots=2, leaves=2, remote ranks=2 140 [3] 0 <- (2,1) 141 [3] 2 <- (0,2) 142 [0] Roots referenced by my leaves, by rank 143 [0] 3: 1 edges 144 [0] 0 <- 1 145 [1] Roots referenced by my leaves, by rank 146 [1] 0: 2 edges 147 [1] 0 <- 1 148 [1] 2 <- 2 149 [2] Roots referenced by my leaves, by rank 150 [2] 0: 1 edges 151 [2] 2 <- 2 152 [2] 1: 1 edges 153 [2] 0 <- 1 154 [3] Roots referenced by my leaves, by rank 155 [3] 0: 1 edges 156 [3] 2 <- 2 157 [3] 2: 1 edges 158 [3] 0 <- 1 159 MultiSF sort=rank-order 160## Multi-SF 161PetscSF Object: 4 MPI processes 162 type: basic 163 [0] Number of roots=5, leaves=2, remote ranks=2 164 [0] 0 <- (3,1) 165 [0] 1 <- (1,0) 166 [1] Number of roots=2, leaves=3, remote ranks=2 167 [1] 0 <- (0,1) 168 [1] 1 <- (2,0) 169 [1] 2 <- (0,2) 170 [2] Number of roots=2, leaves=3, remote ranks=3 171 [2] 0 <- (1,1) 172 [2] 1 <- (3,0) 173 [2] 2 <- (0,3) 174 [3] Number of roots=2, leaves=3, remote ranks=2 175 [3] 0 <- (2,1) 176 [3] 1 <- (0,0) 177 [3] 2 <- (0,4) 178 MultiSF sort=rank-order 179## Multi-SF roots indices in original SF roots numbering 180[0] 0: 0 1 2 2 2 181[1] 0: 0 1 182[2] 0: 0 1 183[3] 0: 0 1 184## Inverse of Multi-SF 185PetscSF Object: 4 MPI processes 186 type: basic 187 [0] Number of roots=2, leaves=5, remote ranks=3 188 [0] 0 <- (3,1) 189 [0] 1 <- (1,0) 190 [0] 2 <- (1,2) 191 [0] 3 <- (2,2) 192 [0] 4 <- (3,2) 193 [1] Number of roots=3, leaves=2, remote ranks=2 194 [1] 0 <- (0,1) 195 [1] 1 <- (2,0) 196 [2] Number of roots=3, leaves=2, remote ranks=2 197 [2] 0 <- (1,1) 198 [2] 1 <- (3,0) 199 [3] Number of roots=3, leaves=2, remote ranks=2 200 [3] 0 <- (2,1) 201 [3] 1 <- (0,0) 202 MultiSF sort=rank-order 203## Inverse of Multi-SF, original numbering 204 [0] Number of roots=2, leaves=5, remote ranks=3 205 [0] 0 <- (3,1) 206 [0] 1 <- (1,0) 207 [0] 2 <- (1,2) 208 [0] 2 <- (2,2) 209 [0] 2 <- (3,2) 210 [1] Number of roots=3, leaves=2, remote ranks=2 211 [1] 0 <- (0,1) 212 [1] 1 <- (2,0) 213 [2] Number of roots=3, leaves=2, remote ranks=2 214 [2] 0 <- (1,1) 215 [2] 1 <- (3,0) 216 [3] Number of roots=3, leaves=2, remote ranks=2 217 [3] 0 <- (2,1) 218 [3] 1 <- (0,0) 219