rb1.F Program
Description
File Name:rb1.F
Description:
Uses standard (5-point stencil) way to do the
Red-Black Gauss-Seidel method. It performs one
complete sweep of the grid from bottom to top
updating all the red nodes and then one complete
sweep updating all the black nodes.
Comment:
The sweep through the grip updating all the black
nodes reuses all nodes touched by the update of the
red nodes. Assuming that the whole grid does not fit
in the cache, the data of the lower part of the grid
is no longer in the cache after the red update sweep
because the data was replaced by the grid points in
the upper part of the grid. Hence, the data must be
loaded from slower main memory into the cache again.
Doing this they replace the upper part of the grid
points in the cache and as a consequence they have to
be loaded from main memory once more. If several
Red-Black Gauss-Seidel sweeps are performed
consecutively the same also applies to the red update
sweep.
Results:
Memory access behaviour
Size |
MBytes
/sec |
% of all access which go
into |
± |
1. Level |
2. Level |
3. Level |
Memory |
32 |
1898.2 |
4.5 |
63.6 |
32.0 |
0.0 |
0.0 |
64 |
2528.5 |
0.5 |
75.7 |
23.6 |
0.2 |
0.0 |
128 |
1152.8 |
-0.2 |
76.1 |
9.3 |
14.8 |
0.0 |
256 |
970.0 |
5.3 |
55.1 |
25.0 |
14.5 |
0.0 |
512 |
339.4 |
4.9 |
29.9 |
50.7 |
7.3 |
7.2 |
1024 |
312.7 |
5.1 |
27.8 |
50.0 |
9.9 |
7.2 |
2048 |
299.1 |
4.5 |
30.3 |
45.0 |
13.0 |
7.2 |
Runtime behaviour
Size |
MFlops
/sec |
% of cycles used for |
± |
Base |
Exec |
Cache |
DTB |
Branch |
R dep |
Nops |
32 |
354.8 |
2.2 |
116.3 |
68.8 |
12.7 |
8.2 |
5.3 |
12.8 |
6.3 |
64 |
453.9 |
-0.3 |
136.8 |
107.8 |
1.9 |
21.5 |
0.1 |
0.0 |
5.8 |
128 |
205.5 |
-0.1 |
104.6 |
45.9 |
6.6 |
49.7 |
0.0 |
0.0 |
2.5 |
256 |
182.9 |
-0.1 |
108.4 |
34.6 |
65.7 |
4.6 |
0.0 |
0.0 |
3.6 |
512 |
63.7 |
0.0 |
102.3 |
11.6 |
87.2 |
2.3 |
0.0 |
0.0 |
1.2 |
1024 |
58.8 |
0.1 |
102.0 |
10.8 |
87.6 |
2.4 |
0.0 |
0.0 |
1.1 |
2048 |
55.9 |
-0.1 |
101.5 |
10.3 |
87.8 |
2.4 |
0.0 |
0.0 |
1.1 |
Table
explanation
|