These subroutines gathers the values of the halo elements:
|
psb_comm_halo_
,psb_comm_mov_
,
psb_comm_ext_
, default: psb_comm_halo_
. Chooses the
index list on which to base the data exchange.
Usage Example
Consider the discretization mesh depicted in fig. 7,
partitioned among two processes as shown by the dashed line; the data
distribution is such that each process will own 32 entries in the
index space, with a halo made of 8 entries placed at local indices 33
through 40. If process 0 assigns an initial value of 1 to its entries
in the vector, and process 1 assigns a value of 2, then after a
call to psb_halo
the contents of the local vectors will be the
following:
Process 0 | Process 1 | |||||
I | GLOB(I) | X(I) | I | GLOB(I) | X(I) | |
1 | 1 | 1.0 | 1 | 33 | 2.0 | |
2 | 2 | 1.0 | 2 | 34 | 2.0 | |
3 | 3 | 1.0 | 3 | 35 | 2.0 | |
4 | 4 | 1.0 | 4 | 36 | 2.0 | |
5 | 5 | 1.0 | 5 | 37 | 2.0 | |
6 | 6 | 1.0 | 6 | 38 | 2.0 | |
7 | 7 | 1.0 | 7 | 39 | 2.0 | |
8 | 8 | 1.0 | 8 | 40 | 2.0 | |
9 | 9 | 1.0 | 9 | 41 | 2.0 | |
10 | 10 | 1.0 | 10 | 42 | 2.0 | |
11 | 11 | 1.0 | 11 | 43 | 2.0 | |
12 | 12 | 1.0 | 12 | 44 | 2.0 | |
13 | 13 | 1.0 | 13 | 45 | 2.0 | |
14 | 14 | 1.0 | 14 | 46 | 2.0 | |
15 | 15 | 1.0 | 15 | 47 | 2.0 | |
16 | 16 | 1.0 | 16 | 48 | 2.0 | |
17 | 17 | 1.0 | 17 | 49 | 2.0 | |
18 | 18 | 1.0 | 18 | 50 | 2.0 | |
19 | 19 | 1.0 | 19 | 51 | 2.0 | |
20 | 20 | 1.0 | 20 | 52 | 2.0 | |
21 | 21 | 1.0 | 21 | 53 | 2.0 | |
22 | 22 | 1.0 | 22 | 54 | 2.0 | |
23 | 23 | 1.0 | 23 | 55 | 2.0 | |
24 | 24 | 1.0 | 24 | 56 | 2.0 | |
25 | 25 | 1.0 | 25 | 57 | 2.0 | |
26 | 26 | 1.0 | 26 | 58 | 2.0 | |
27 | 27 | 1.0 | 27 | 59 | 2.0 | |
28 | 28 | 1.0 | 28 | 60 | 2.0 | |
29 | 29 | 1.0 | 29 | 61 | 2.0 | |
30 | 30 | 1.0 | 30 | 62 | 2.0 | |
31 | 31 | 1.0 | 31 | 63 | 2.0 | |
32 | 32 | 1.0 | 32 | 64 | 2.0 | |
33 | 33 | 2.0 | 33 | 25 | 1.0 | |
34 | 34 | 2.0 | 34 | 26 | 1.0 | |
35 | 35 | 2.0 | 35 | 27 | 1.0 | |
36 | 36 | 2.0 | 36 | 28 | 1.0 | |
37 | 37 | 2.0 | 37 | 29 | 1.0 | |
38 | 38 | 2.0 | 38 | 30 | 1.0 | |
39 | 39 | 2.0 | 39 | 31 | 1.0 | |
40 | 40 | 2.0 | 40 | 32 | 1.0 |