Adaptor programmer's guide
- 格式:pdf
- 大小:540.49 KB
- 文档页数:79
1
2
3
4
5
6
7
8
9
10
11
12
1314
15
16
17
18
19
20
21
22
23
24
25
2627
28
29
30
31
32
33
34
35
36
37
38
39
45
46
47
48
49
50
51
52444341
4240P1P2P3P4P1P2P3P4
1
2
3
4
5
6
7
8
9
10
11
12
1345
46
47
48
49
50
51
52444315
16
17
18
19
20
21
22
23
24
25
26
2729
30
31
32
33
34
35
36
37
38
39
40
41
142842-
-
-
-
(a) DISTRIBUTE A (BLOCK)(b) DISTRIBUTE A (BLOCK(14))P1P2P4
1
5
9
13
17
21
2510
14
18
22
2662
2930
3334
50493738P3
7
11
15
19
23
27
31
353
39
414342
454647
514
8
12
16
20
24
28
32
5236
40
44
48P1P2P4P3
1
2
3
46
7
8
1011
12
13
14
151716
1918
20
21
2322
2426
2527
28
29
3031
32
33
34
353637
38
39
40
41
42
43
44
4547
48
49
5051
5259
46
--
--
-
--
-
(a) DISTRIBUTE A (CYCLIC)(b) DISTRIBUTE A (CYCLIC(5))
P
2P
1
P
319202122232425264142434445461112131415161718272930313233343536373928384052515049484710987654321
DISTRIBUTE A (ARBITRARY (6, LENGTH = [10,8,8,12,6,6], MAP = [1,2,3,2,3,1])
P1
P2
P3
P4P1P2P3P4P1
P2
P3
P4
P1
P2
P3
P4P1P2P3P4P1P2P3P4
(b) DISTRIBUTE A(*,BLOCK)(c) DISTRIBUTE A(CYCLIC,*)(d) DISTRIBUTE A(*,CYCLIC)(a) DISTRIBUTE A(BLOCK,*)P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1P
2
P
3P
4P
1P
2
P
3P
4P
1P
2
P
3P
4P
1P
2
P
3P
4
(c) DISTRIBUTE A(BLOCK,CYCLIC)P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
P
1
P
2P
3
P
4
(d) DISTRIBUTE A(CYCLIC,CYCLIC)P
1
P
2P
3
P
4
(a) DISTRIBUTE A(BLOCK,BLOCK)(b) DISTRIBUTE A(CYCLIC,BLOCK)!HPF$ TEMPLATE T(N)
REAL A(N,N), B(N,N)
!HPF$ ALIGN A(I,J) WITH T(J)
!HPF$ ALIGN B(I,J) WITH T(I)123...N
123...
NA
T
123...N1
2
3
...
N
TB
12312312345678
0123456789...123456789...X2X1
12345678TT
X1
X2!HPF$ TEMPLATE T(0:N+1)
REAL X1(N)
REAL X2(N)
!HPF$ ALIGN X1(I) WITH T(I-1)
!HPF$ ALIGN X2(I) WITH T(I+1) REAL X2(N) REAL X1(N)
!HPF$ ALIGN X1(I) WITH T(2*I)!HPF$ TEMPLATE T(1:2*N)
!HPF$ ALIGN X2(I) WITH T(2*I-1)123...N
123...N1
2
3
...
N1
2
3
...
N123...N
1
2
3
...
N!HPF$ TEMPLATE T(N,N)
REAL A(N), B(N)
!HPF$ ALIGN A(I) WITH T(I,3)
!HPF$ ALIGN B(I) WITH T(3,I)
BATT
123...N1
2
3
...
N123...N
T
A123...N
123...N1
2
3
...
NT
B!HPF$ TEMPLATE T(N,N)
REAL A(N), B(N)
!HPF$ ALIGN A(I) WITH T(I,*)
!HPF$ ALIGN B(I) WITH T(*,I)
b(1)
a(1)
d(1)
c(1)b(2)
a(2)
d(2)
c(2)b(3)
a(3)
d(3)
c(3)b(1)b(2)b(3)
a(1)a(2)a(3)
d(1)d(2)d(3)
c(1)c(2)c(3)b(1)b(2)
a(1)a(2)
d(1)d(2)
c(1)c(2)BeginBeginBegin
EndEndEndb(3)
a(3)
d(3)
c(3)FORALL I=1,3
END FORALLDO I=1,3
END DOALLDO I=1,3
END DO c(I) = d(I) a(I) = b(I)
c(I) = d(I) a(I) = b(I)
c(I) = d(I) a(I) = b(I)!HPF$ INDEPENDENT