1PetscSF Object: 4 MPI processes 2 type: basic 3 sort=rank-order 4 [0] Number of roots=3, leaves=2, remote ranks=2 5 [0] 0 <- (3,1) 6 [0] 1 <- (1,0) 7 [1] Number of roots=2, leaves=3, remote ranks=2 8 [1] 0 <- (0,1) 9 [1] 1 <- (2,0) 10 [1] 2 <- (0,2) 11 [2] Number of roots=2, leaves=3, remote ranks=3 12 [2] 0 <- (1,1) 13 [2] 1 <- (3,0) 14 [2] 2 <- (0,2) 15 [3] Number of roots=2, leaves=3, remote ranks=2 16 [3] 0 <- (2,1) 17 [3] 1 <- (0,0) 18 [3] 2 <- (0,2) 19 [0] Roots referenced by my leaves, by rank 20 [0] 1: 1 edges 21 [0] 1 <- 0 22 [0] 3: 1 edges 23 [0] 0 <- 1 24 [1] Roots referenced by my leaves, by rank 25 [1] 0: 2 edges 26 [1] 0 <- 1 27 [1] 2 <- 2 28 [1] 2: 1 edges 29 [1] 1 <- 0 30 [2] Roots referenced by my leaves, by rank 31 [2] 0: 1 edges 32 [2] 2 <- 2 33 [2] 1: 1 edges 34 [2] 0 <- 1 35 [2] 3: 1 edges 36 [2] 1 <- 0 37 [3] Roots referenced by my leaves, by rank 38 [3] 0: 2 edges 39 [3] 1 <- 0 40 [3] 2 <- 2 41 [3] 2: 1 edges 42 [3] 0 <- 1 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 sort=rank-order 132 [0] Number of roots=3, leaves=1, remote ranks=1 133 [0] 0 <- (3,1) 134 [1] Number of roots=2, leaves=2, remote ranks=1 135 [1] 0 <- (0,1) 136 [1] 2 <- (0,2) 137 [2] Number of roots=2, leaves=2, remote ranks=2 138 [2] 2 <- (0,2) 139 [2] 0 <- (1,1) 140 [3] Number of roots=2, leaves=2, remote ranks=2 141 [3] 2 <- (0,2) 142 [3] 0 <- (2,1) 143 [0] Roots referenced by my leaves, by rank 144 [0] 3: 1 edges 145 [0] 0 <- 1 146 [1] Roots referenced by my leaves, by rank 147 [1] 0: 2 edges 148 [1] 0 <- 1 149 [1] 2 <- 2 150 [2] Roots referenced by my leaves, by rank 151 [2] 0: 1 edges 152 [2] 2 <- 2 153 [2] 1: 1 edges 154 [2] 0 <- 1 155 [3] Roots referenced by my leaves, by rank 156 [3] 0: 1 edges 157 [3] 2 <- 2 158 [3] 2: 1 edges 159 [3] 0 <- 1 160## Multi-SF 161PetscSF Object: 4 MPI processes 162 type: basic 163 sort=rank-order 164 [0] Number of roots=5, leaves=2, remote ranks=2 165 [0] 0 <- (3,1) 166 [0] 1 <- (1,0) 167 [1] Number of roots=2, leaves=3, remote ranks=2 168 [1] 0 <- (0,1) 169 [1] 1 <- (2,0) 170 [1] 2 <- (0,2) 171 [2] Number of roots=2, leaves=3, remote ranks=3 172 [2] 0 <- (1,1) 173 [2] 1 <- (3,0) 174 [2] 2 <- (0,3) 175 [3] Number of roots=2, leaves=3, remote ranks=2 176 [3] 0 <- (2,1) 177 [3] 1 <- (0,0) 178 [3] 2 <- (0,4) 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 sort=rank-order 188 [0] Number of roots=2, leaves=5, remote ranks=3 189 [0] 0 <- (3,1) 190 [0] 1 <- (1,0) 191 [0] 2 <- (1,2) 192 [0] 3 <- (2,2) 193 [0] 4 <- (3,2) 194 [1] Number of roots=3, leaves=2, remote ranks=2 195 [1] 0 <- (0,1) 196 [1] 1 <- (2,0) 197 [2] Number of roots=3, leaves=2, remote ranks=2 198 [2] 0 <- (1,1) 199 [2] 1 <- (3,0) 200 [3] Number of roots=3, leaves=2, remote ranks=2 201 [3] 0 <- (2,1) 202 [3] 1 <- (0,0) 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