60 likes | 198 Views
2 1. 1 2. side 3. side 1. Υποχωρίο. side 2. side 4. 2 1. 1 2. nProcx, nProcy ( Πλήθος διεργασιών κατά x, y) lnex, lney ( Πλήθος elements κατά x, y ανά Proc )
E N D
2 1 1 2 side 3 side 1 Υποχωρίο side 2 side 4
2 1 1 2 nProcx, nProcy (Πλήθος διεργασιώνκατά x, y) lnex, lney (Πλήθος elements κατά x,y ανά Proc) lnnx, lnny (Πλήθος κόμβων κατά x,y ανά Proc) Proc≡διεργασία my_x, my_y (Συντεταγμένες των Procs) Παράδειγμα Για τη Proc 1 είναι my_x = 1, my_y = 2 INTEGER neig(4) (Γείτονες κάθε Proc) Παράδειγμα Για τη Proc 2 είναι neig(1) = 0 (αριστερά - side1) neig(2) = -1 (δεξιά - side 2) neig(3) = 3 (πάνω - side 3) neig(4) = -1 (κάτω - side 4) INTEGER my_elements(lnex*lney) (Local to Global) Παράδειγμα Για τη Proc 3 είναι my_elements(1) = 11 my_elements(2) = 12 my_elements(3) = 15 my_elements(4) = 16
2 1 1 2 INTEGER my_nodes(lnnx*lnny) (Local to Global) Παράδειγμα Για τη Proc 1 είναι my_nodes(1) = 3 my_nodes(2) = 4 my_nodes(3) = 5 my_nodes(4) = 8 . . . my_nodes(9) = 15 lnn_side1, lnn_side2, lnn_side3, lnn_side4 (Πλήθος των κόμβων επικοινωνίας) Παράδειγμα Για τη Proc 1 είναι lnn_side1 = lnn_side2 = lnn_side3 = lnn_side4 = 3 INTEGER nodes_side1(lnn_side1) INTEGER nodes_side2(lnn_side2) INTEGER nodes_side3(lnn_side3) INTEGER nodes_side4(lnn_side4) (Κόμβοι επικοινωνίας) Παράδειγμα Για τη Proc 1 είναι nodes_side2(1) = 13 nodes_side2(2) = 14 nodes_side2(3) = 15 Proc≡διεργασία
2 1 1 2 Proc≡διεργασία INTEGER g2l_nodes(np) (Global to Local) np = nnx * nny (το πλήθος των κόμβων του αρχικού χωρίου) Παράδειγμα Για τη Proc 1 η array g2l_nodes είναι μη μηδενική μόνοστους ολικούς κόμβους που έχει αναλάβει g2l_nodes(3) = 1 g2l_nodes(4) = 2 g2l_nodes(5) = 3 g2l_nodes(8) = 4 . . . g2l_nodes(15) = 9 INTEGER in(lnnx*lnny) Εχει παντού την τιμή 1 εκτός από τους κόμβους επικοινωνίας. Στους κόμβους αυτούς έχει τιμή 0 ή 1
1 1 1 0 1 1 Ορισμός της in( ) 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1