|
|
| |
| # lines: |
262 | | # code: |
262 | | # comment: | 0 | |
# blank: | 0 |
| # Variables: | 46 |
| # Callers: | 0 |
| # Callings: | 0 |
| # Words: | 177 |
| # Keywords: | 113 |
|
|
|
|
|
..
.. Array Arguments ..
..
Purpose
=======
PDLAWIL gets the transform given by H44,H33, & H43H34 into V
starting at row M.
Notes
=====
Each global data object is described by an associated description
vector. This vector stores the information required to establish
the mapping between an object element and its corresponding process
and memory location.
Let A be a generic term for any 2D block cyclicly distributed array.
Such a global array has an associated description vector DESCA.
In the following comments, the character _ should be read as
"of the global array".
NOTATION STORED IN EXPLANATION
--------------- -------------- --------------------------------------
DTYPE_A(global) DESCA( DTYPE_ )The descriptor type. In this case,
DTYPE_A = 1.
CTXT_A (global) DESCA( CTXT_ ) The BLACS context handle, indicating
the BLACS process grid A is distribu-
ted over. The context itself is glo-
bal, but the handle (the integer
value) may vary.
M_A (global) DESCA( M_ ) The number of rows in the global
array A.
N_A (global) DESCA( N_ ) The number of columns in the global
array A.
MB_A (global) DESCA( MB_ ) The blocking factor used to distribute
the rows of the array.
NB_A (global) DESCA( NB_ ) The blocking factor used to distribute
the columns of the array.
RSRC_A (global) DESCA( RSRC_ ) The process row over which the first
row of the array A is distributed.
CSRC_A (global) DESCA( CSRC_ ) The process column over which the
first column of the array A is
distributed.
LLD_A (local) DESCA( LLD_ ) The leading dimension of the local
array. LLD_A >= MAX(1,LOCr(M_A)).
Let K be the number of rows or columns of a distributed matrix,
and assume that its process grid has dimension p x q.
LOCr( K ) denotes the number of elements of K that a process
would receive if K were distributed over the p processes of its
process column.
Similarly, LOCc( K ) denotes the number of elements of K that a
process would receive if K were distributed over the q processes of
its process row.
The values of LOCr() and LOCc() may be determined via a call to the
ScaLAPACK tool function, NUMROC:
LOCr( M ) = NUMROC( M, MB_A, MYROW, RSRC_A, NPROW ),
LOCc( N ) = NUMROC( N, NB_A, MYCOL, CSRC_A, NPCOL ).
An upper bound for these quantities may be computed by:
LOCr( M ) <= ceil( ceil(M/MB_A)/NPROW )*MB_A
LOCc( N ) <= ceil( ceil(N/NB_A)/NPCOL )*NB_A
Arguments
=========
II (global input) INTEGER
Row owner of H(M+2,M+2)
JJ (global input) INTEGER
Column owner of H(M+2,M+2)
M (global input) INTEGER
On entry, this is where the transform starts (row M.)
Unchanged on exit.
A (global input) DOUBLE PRECISION array, dimension
(DESCA(LLD_),*)
On entry, the Hessenberg matrix.
Unchanged on exit.
DESCA (global and local input) INTEGER array of dimension DLEN_.
The array descriptor for the distributed matrix A.
Unchanged on exit.
H44
H33
H43H34 (global input) DOUBLE PRECISION
These three values are for the double shift QR iteration.
Unchanged on exit.
V (global output) DOUBLE PRECISION array of size 3.
Contains the transform on ouput.
Implemented by: G. Henry, November 17, 1996
=====================================================================
.. Parameters ..
|
|
|
|
001 SUBROUTINE PDLAWIL( II , JJ , M , A , DESCA , H44 , H33 , H43H34 , V )
002
003 * -- ScaLAPACK routine(version 1.7) --
004 * University of Tennessee , Knoxville , Oak Ridge National Laboratory ,
005 * and University of California , Berkeley.
006 * May 1 , 1997
007
008 * .. Scalar Arguments ..
009 INTEGER II , JJ , M
010 DOUBLE PRECISION H33 , H43H34 , H44
011 INTEGER BLOCK_CYCLIC_2D , CSRC_ , CTXT_ , DLEN_ , DTYPE_ ,
012 $LLD_ , MB_ , M_ , NB_ , N_ , RSRC_
013 PARAMETER( BLOCK_CYCLIC_2D = 1 , DLEN_ = 9 , DTYPE_ = 1 ,
014 $CTXT_ = 2 , M_ = 3 , N_ = 4 , MB_ = 5 , NB_ = 6 ,
015 $RSRC_ = 7 , CSRC_ = 8 , LLD_ = 9 )
016 * ..
017 * .. Local Scalars ..
018 INTEGER CONTXT , DOWN , HBL , ICOL , IROW , JSRC , LDA , LEFT ,
019 $MODKM1 , MYCOL , MYROW , NPCOL , NPROW , NUM , RIGHT ,
020 $RSRC , UP
021 DOUBLE PRECISION H11 , H12 , H21 , H22 , H33S , H44S , S , V1 , V2 , V3
022 * ..
023 * .. Local Arrays ..
024 DOUBLE PRECISION BUF( 4 )
025 * ..
026 * .. External Subroutines ..
027 EXTERNAL BLACS_GRIDINFO , DGERV2D , DGESD2D , INFOG2L
028 * ..
029 * .. Intrinsic Functions ..
030 INTRINSIC ABS , MOD
031 * ..
032 * .. Executable Statements ..
033
034 HBL = DESCA( MB_ )
035 CONTXT = DESCA( CTXT_ )
036 LDA = DESCA( LLD_ )
037 CALL BLACS_GRIDINFO( CONTXT , NPROW , NPCOL , MYROW , MYCOL )
038 LEFT = MOD( MYCOL + NPCOL - 1 , NPCOL )
039 RIGHT = MOD( MYCOL + 1 , NPCOL )
040 UP = MOD( MYROW + NPROW - 1 , NPROW )
041 DOWN = MOD( MYROW + 1 , NPROW )
042 NUM = NPROW*NPCOL
043
044 * On node(II , JJ) collect all DIA , SUP , SUB info from M , M + 1
045
046 MODKM1 = MOD( M + 1 , HBL )
047 IF( MODKM1.EQ.0 ) THEN
047
048 IF(( MYROW.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.
049 $( NPCOL.GT.1 ) ) THEN
049
050 CALL INFOG2L( M + 2 , M + 1 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
051 $ IROW , ICOL , RSRC , JSRC )
052 BUF( 1 ) = A(( ICOL - 1 )*LDA + IROW )
053 CALL DGESD2D( CONTXT , 1 , 1 , BUF , 1 , II , JJ )
054 END IF
055 IF(( DOWN.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.( NUM.GT.1 ) )
055
056 $ THEN
057 CALL INFOG2L( M , M , DESCA , NPROW , NPCOL , MYROW , MYCOL , IROW ,
058 $ ICOL , RSRC , JSRC )
059 BUF( 1 ) = A(( ICOL - 1 )*LDA + IROW )
060 BUF( 2 ) = A(( ICOL - 1 )*LDA + IROW + 1 )
061 BUF( 3 ) = A( ICOL*LDA + IROW )
062 BUF( 4 ) = A( ICOL*LDA + IROW + 1 )
063 CALL DGESD2D( CONTXT , 4 , 1 , BUF , 4 , II , JJ )
064 END IF
065 IF(( MYROW.EQ.II ) .AND.( MYCOL.EQ.JJ ) ) THEN
065
066 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
067 $ IROW , ICOL , RSRC , JSRC )
068 IF( NPCOL.GT.1 ) THEN
068
069 CALL DGERV2D( CONTXT , 1 , 1 , V3 , 1 , MYROW , LEFT )
070 ELSE
070
071 V3 = A(( ICOL - 2 )*LDA + IROW )
072 END IF
073 IF( NUM.GT.1 ) THEN
073
074 CALL DGERV2D( CONTXT , 4 , 1 , BUF , 4 , UP , LEFT )
075 H11 = BUF( 1 )
076 H21 = BUF( 2 )
077 H12 = BUF( 3 )
078 H22 = BUF( 4 )
079 ELSE
079
080 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
081 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
082 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
083 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
084 END IF
085 END IF
086 END IF
087 IF( MODKM1.EQ.1 ) THEN
087
088 IF(( DOWN.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.( NUM.GT.1 ) )
088
089 $ THEN
090 CALL INFOG2L( M , M , DESCA , NPROW , NPCOL , MYROW , MYCOL , IROW ,
091 $ ICOL , RSRC , JSRC )
092 CALL DGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
093 $ JJ )
094 END IF
095 IF(( DOWN.EQ.II ) .AND.( MYCOL.EQ.JJ ) .AND.( NPROW.GT.1 ) )
095
096 $ THEN
097 CALL INFOG2L( M , M + 1 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
098 $ IROW , ICOL , RSRC , JSRC )
099 CALL DGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
100 $ JJ )
101 END IF
102 IF(( MYROW.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.
103 $( NPCOL.GT.1 ) ) THEN
103
104 CALL INFOG2L( M + 1 , M , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
105 $ IROW , ICOL , RSRC , JSRC )
106 CALL DGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
107 $ JJ )
108 END IF
109 IF(( MYROW.EQ.II ) .AND.( MYCOL.EQ.JJ ) ) THEN
109
110 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
111 $ IROW , ICOL , RSRC , JSRC )
112 IF( NUM.GT.1 ) THEN
112
113 CALL DGERV2D( CONTXT , 1 , 1 , H11 , 1 , UP , LEFT )
114 ELSE
114
115 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
116 END IF
117 IF( NPROW.GT.1 ) THEN
117
118 CALL DGERV2D( CONTXT , 1 , 1 , H12 , 1 , UP , MYCOL )
119 ELSE
119
120 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
121 END IF
122 IF( NPCOL.GT.1 ) THEN
122
123 CALL DGERV2D( CONTXT , 1 , 1 , H21 , 1 , MYROW , LEFT )
124 ELSE
124
125 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
126 END IF
127 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
128 V3 = A(( ICOL - 2 )*LDA + IROW )
129 END IF
130 END IF
131 IF(( MYROW.NE.II ) .OR.( MYCOL.NE.JJ ) )
131
132 $ RETURN
133
134 IF( MODKM1.GT.1 ) THEN
134
135 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
136 $ IROW , ICOL , RSRC , JSRC )
137 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
138 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
139 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
140 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
141 V3 = A(( ICOL - 2 )*LDA + IROW )
142 END IF
143
144 H44S = H44 - H11
145 H33S = H33 - H11
146 V1 =( H33S*H44S - H43H34 ) / H21 + H12
147 V2 = H22 - H11 - H33S - H44S
148 S = ABS( V1 ) + ABS( V2 ) + ABS( V3 )
149 V1 = V1 / S
150 V2 = V2 / S
151 V3 = V3 / S
152 V( 1 ) = V1
153 V( 2 ) = V2
154 V( 3 ) = V3
155
156 RETURN
157
158 * End of PDLAWIL
159
160 END10
21
|
|
Variables in Routine PDLAWIL()
| Summary Report |
| Data Type | Quantity | Size(byte) |
| DOUBLE PRECISION | 14 | 68 |
| INTEGER | 31 | 124 |
| REAL | 1 | 4 |
| TOTAL | 46 | 196 |
List of Variables
DOUBLE PRECISION
| BUF( 4 ) | H11 | H12 | H21 | H22 |
| H33 | H33S | H43H34 | H44 | H44S |
| S | V1 | V2 | V3 | |
INTEGER
| BLOCK_CYCLIC_2D | CONTXT | CSRC_ | CTXT_ | DLEN_ |
| DOWN | DTYPE_ | HBL | ICOL | II |
| IROW | JJ | JSRC | LDA | LEFT |
| LLD_ | M | M_ | MB_ | MODKM1 |
| MYCOL | MYROW | N_ | NB_ | NPCOL |
| NPROW | NUM | RIGHT | RSRC | RSRC_ |
| UP | | | | |
REAL
Variables Dependence Graph Put the mouse over a right hand side variable to display the corresponding line of the dependence | | - | | - | - | | BUF | <--- | ICOLBUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ){2BUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ), 3BUF( 2 ) = A( ( ICOL-1 )*LDA+IROW+1 ), 4BUF( 3 ) = A( ICOL*LDA+IROW ), 5BUF( 4 ) = A( ICOL*LDA+IROW+1 )}, IROWBUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ){2BUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ), 3BUF( 2 ) = A( ( ICOL-1 )*LDA+IROW+1 ), 4BUF( 3 ) = A( ICOL*LDA+IROW ), 5BUF( 4 ) = A( ICOL*LDA+IROW+1 )}, LDABUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ){2BUF( 1 ) = A( ( ICOL-1 )*LDA+IROW ), 3BUF( 2 ) = A( ( ICOL-1 )*LDA+IROW+1 ), 4BUF( 3 ) = A( ICOL*LDA+IROW ), 5BUF( 4 ) = A( ICOL*LDA+IROW+1 )} |
| CONTXT | <--- | CTXT_CONTXT = DESCA( CTXT_ ) |
| DOWN | <--- | MYROWDOWN = MOD( MYROW+1, NPROW ), NPROWDOWN = MOD( MYROW+1, NPROW ) |
| H11 | <--- | ICOLH11 = A( ( ICOL-3 )*LDA+IROW-2 ){2H11 = A( ( ICOL-3 )*LDA+IROW-2 ), 3H11 = A( ( ICOL-3 )*LDA+IROW-2 )}, BUFH11 = BUF( 1 ), IROWH11 = A( ( ICOL-3 )*LDA+IROW-2 ){2H11 = A( ( ICOL-3 )*LDA+IROW-2 ), 3H11 = A( ( ICOL-3 )*LDA+IROW-2 )}, LDAH11 = A( ( ICOL-3 )*LDA+IROW-2 ){2H11 = A( ( ICOL-3 )*LDA+IROW-2 ), 3H11 = A( ( ICOL-3 )*LDA+IROW-2 )} |
| H12 | <--- | ICOLH12 = A( ( ICOL-2 )*LDA+IROW-2 ){2H12 = A( ( ICOL-2 )*LDA+IROW-2 ), 3H12 = A( ( ICOL-2 )*LDA+IROW-2 )}, BUFH12 = BUF( 3 ), IROWH12 = A( ( ICOL-2 )*LDA+IROW-2 ){2H12 = A( ( ICOL-2 )*LDA+IROW-2 ), 3H12 = A( ( ICOL-2 )*LDA+IROW-2 )}, LDAH12 = A( ( ICOL-2 )*LDA+IROW-2 ){2H12 = A( ( ICOL-2 )*LDA+IROW-2 ), 3H12 = A( ( ICOL-2 )*LDA+IROW-2 )} |
| H21 | <--- | ICOLH21 = A( ( ICOL-3 )*LDA+IROW-1 ){2H21 = A( ( ICOL-3 )*LDA+IROW-1 ), 3H21 = A( ( ICOL-3 )*LDA+IROW-1 )}, BUFH21 = BUF( 2 ), IROWH21 = A( ( ICOL-3 )*LDA+IROW-1 ){2H21 = A( ( ICOL-3 )*LDA+IROW-1 ), 3H21 = A( ( ICOL-3 )*LDA+IROW-1 )}, LDAH21 = A( ( ICOL-3 )*LDA+IROW-1 ){2H21 = A( ( ICOL-3 )*LDA+IROW-1 ), 3H21 = A( ( ICOL-3 )*LDA+IROW-1 )} |
| H22 | <--- | ICOLH22 = A( ( ICOL-2 )*LDA+IROW-1 ){2H22 = A( ( ICOL-2 )*LDA+IROW-1 ), 3H22 = A( ( ICOL-2 )*LDA+IROW-1 )}, BUFH22 = BUF( 4 ), IROWH22 = A( ( ICOL-2 )*LDA+IROW-1 ){2H22 = A( ( ICOL-2 )*LDA+IROW-1 ), 3H22 = A( ( ICOL-2 )*LDA+IROW-1 )}, LDAH22 = A( ( ICOL-2 )*LDA+IROW-1 ){2H22 = A( ( ICOL-2 )*LDA+IROW-1 ), 3H22 = A( ( ICOL-2 )*LDA+IROW-1 )} |
| H33S | <--- | H33H33S = H33 - H11, H11H33S = H33 - H11 |
| H44S | <--- | H44H44S = H44 - H11, H11H44S = H44 - H11 |
| HBL | <--- | MB_HBL = DESCA( MB_ ) |
| LDA | <--- | LLD_LDA = DESCA( LLD_ ) |
| LEFT | <--- | MYCOLLEFT = MOD( MYCOL+NPCOL-1, NPCOL ), NPCOLLEFT = MOD( MYCOL+NPCOL-1, NPCOL ) |
| MODKM1 | <--- | HBLMODKM1 = MOD( M+1, HBL ), MMODKM1 = MOD( M+1, HBL ) |
| NUM | <--- | NPCOLNUM = NPROW*NPCOL, NPROWNUM = NPROW*NPCOL |
| RIGHT | <--- | MYCOLRIGHT = MOD( MYCOL+1, NPCOL ), NPCOLRIGHT = MOD( MYCOL+1, NPCOL ) |
| S | <--- | V1S = ABS( V1 ) + ABS( V2 ) + ABS( V3 ), V2S = ABS( V1 ) + ABS( V2 ) + ABS( V3 ), V3S = ABS( V1 ) + ABS( V2 ) + ABS( V3 ) |
| UP | <--- | MYROWUP = MOD( MYROW+NPROW-1, NPROW ), NPROWUP = MOD( MYROW+NPROW-1, NPROW ) |
| V | <--- | V1V( 1 ) = V1, V2V( 2 ) = V2, V3V( 3 ) = V3 |
| V1 | <--- | H12V1 = ( H33S*H44S-H43H34 ) / H21 + H12, H21V1 = ( H33S*H44S-H43H34 ) / H21 + H12, H33SV1 = ( H33S*H44S-H43H34 ) / H21 + H12, H43H34V1 = ( H33S*H44S-H43H34 ) / H21 + H12, H44SV1 = ( H33S*H44S-H43H34 ) / H21 + H12, SV1 = V1 / S, V1V1 = V1 / S |
| V2 | <--- | H22V2 = H22 - H11 - H33S - H44S, H33SV2 = H22 - H11 - H33S - H44S, H44SV2 = H22 - H11 - H33S - H44S, SV2 = V2 / S, V2V2 = V2 / S, H11V2 = H22 - H11 - H33S - H44S |
| V3 | <--- | ICOLV3 = A( ( ICOL-2 )*LDA+IROW ){2V3 = A( ( ICOL-2 )*LDA+IROW ), 3V3 = A( ( ICOL-2 )*LDA+IROW )}, IROWV3 = A( ( ICOL-2 )*LDA+IROW ){2V3 = A( ( ICOL-2 )*LDA+IROW ), 3V3 = A( ( ICOL-2 )*LDA+IROW )}, LDAV3 = A( ( ICOL-2 )*LDA+IROW ){2V3 = A( ( ICOL-2 )*LDA+IROW ), 3V3 = A( ( ICOL-2 )*LDA+IROW )}, SV3 = V3 / S, V3V3 = V3 / S |
|
|
Analysis elements of the routine PDLAWIL() Put the mouse over each element to display detailed matching information
Assigned variables |
| | | BLOCK_CYCLIC_2D , BUF , CONTXT , CSRC_ , CTXT_ , DLEN_ , DOWN , DTYPE_ , H11 , H12 , H21 , H22 , H33S , H44S , HBL , LDA , LEFT , LLD_ , M_ , MB_ , MODKM1 , N_ , NB_ , NUM , RIGHT , RSRC_ , S , UP , V , V1 , V2 , V3 |
|
Active variables |
| | | A , BLOCK_CYCLIC_2D , BUF , CONTXT , CSRC_ , CTXT_ , DESCA , DLEN_ , DOWN , DTYPE_ , H11 , H12 , H21 , H22 , H33 , H33S , H43H34 , H44 , H44S , HBL , ICOL , II , IROW , JJ , JSRC , LDA , LEFT , LLD_ , M , M_ , MB_ , MODKM1 , MYCOL , MYROW , N_ , NB_ , NPCOL , NPROW , NUM , RIGHT , RSRC , RSRC_ , S , UP , V , V1 , V2 , V3 |
|
Accessed arrays [ array name : associated index ] |
| | A | : ( ICOL-1 )*LDA+IROW , ( ICOL-1 )*LDA+IROW , ( ICOL-1 )*LDA+IROW , ( ICOL-1 )*LDA+IROW , ( ICOL-1 )*LDA+IROW , ( ICOL-1 )*LDA+IROW+1 , ( ICOL-2 )*LDA+IROW , ( ICOL-2 )*LDA+IROW , ( ICOL-2 )*LDA+IROW , ( ICOL-2 )*LDA+IROW-1 , ( ICOL-2 )*LDA+IROW-1 , ( ICOL-2 )*LDA+IROW-1 , ( ICOL-2 )*LDA+IROW-2 , ( ICOL-2 )*LDA+IROW-2 , ( ICOL-2 )*LDA+IROW-2 , ( ICOL-3 )*LDA+IROW-1 , ( ICOL-3 )*LDA+IROW-1 , ( ICOL-3 )*LDA+IROW-1 , ( ICOL-3 )*LDA+IROW-2 , ( ICOL-3 )*LDA+IROW-2 , ( ICOL-3 )*LDA+IROW-2 , ICOL*LDA+IROW , ICOL*LDA+IROW+1 |
| | BUF | : 1 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 4 |
| | DESCA | : CTXT_ , LLD_ , MB_ |
| | V | : 1 , 2 , 3 |
|
Conditional statements [ statement : associated predicate ] |
| | if | : ( MODKM1.EQ.0 ) , ( (( MYROW.EQ.II ) .AND. ( RIGHT.EQ.JJ ) .AND. ) , ( (( DOWN.EQ.II ) .AND. ( RIGHT.EQ.JJ ) .AND. ( NUM.GT.1 ) ) ) , ( (( MYROW.EQ.II ) .AND. ( MYCOL.EQ.JJ ) ) ) , ( NPCOL.GT.1 ) , ( NUM.GT.1 ) , ( MODKM1.EQ.1 ) , ( (( DOWN.EQ.II ) .AND. ( RIGHT.EQ.JJ ) .AND. ( NUM.GT.1 ) ) ) , ( (( DOWN.EQ.II ) .AND. ( MYCOL.EQ.JJ ) .AND. ( NPROW.GT.1 ) ) ) , ( (( MYROW.EQ.II ) .AND. ( RIGHT.EQ.JJ ) .AND. ) , ( (( MYROW.EQ.II ) .AND. ( MYCOL.EQ.JJ ) ) ) , ( NUM.GT.1 ) , ( NPROW.GT.1 ) , ( NPCOL.GT.1 ) , ( (( MYROW.NE.II ) .OR. ( MYCOL.NE.JJ ) ) ) , ( MODKM1.GT.1 ) |
|
| List of variables | BLOCK_CYCLIC_2D BUF( 4 ) CONTXT CSRC_ CTXT_ DLEN_ DOWN
| DTYPE_ H11 H12 H21 H22 H33 H33S H43H34
| H44 H44S HBL ICOL II IROW JJ JSRC
| LDA LEFT LLD_ M M_ MB_ MODKM1 MYCOL
| MYROW N_ NB_ NPCOL NPROW NUM RIGHT RSRC
| RSRC_ S UP V V1 V2 V3 | | close
| |
BLOCK_CYCLIC_2D
BUF( 4 )
CONTXT
CSRC_
CTXT_
DLEN_
DOWN
DTYPE_
H11
H12
H21
H22
H33
H33S
H43H34
H44
H44S
HBL
ICOL
II
IROW
JJ
JSRC
LDA
LEFT
LLD_
M
M_
MB_
MODKM1
MYCOL
MYROW
N_
NB_
NPCOL
NPROW
NUM
RIGHT
RSRC
RSRC_
S
UP
V
V1
V2
V3
| |