|
|
| |
| # lines: |
273 | | # code: |
273 | | # comment: | 0 | |
# blank: | 0 |
| # Variables: | 48 |
| # Callers: | 0 |
| # Callings: | 0 |
| # Words: | 181 |
| # Keywords: | 115 |
|
|
|
|
|
..
.. Array Arguments ..
..
Purpose
=======
PZLAWIL 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) COMPLEX*16 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) COMPLEX*16
These three values are for the double shift QR iteration.
Unchanged on exit.
V (global output) COMPLEX*16 array of size 3.
Contains the transform on ouput.
Further Details
===============
Implemented by: M. Fahey, May 28, 1999
=====================================================================
.. Parameters ..
|
|
|
|
001 SUBROUTINE PZLAWIL( 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 * July 31 , 2001
007
008 * .. Scalar Arguments ..
009 INTEGER II , JJ , M
010 COMPLEX*16 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 S
022 COMPLEX*16 CDUM , H11 , H12 , H21 , H22 , H33S , H44S , V1 , V2 ,
023 $V3
024 * ..
025 * .. Local Arrays ..
026 COMPLEX*16 BUF( 4 )
027 * ..
028 * .. External Subroutines ..
029 EXTERNAL BLACS_GRIDINFO , INFOG2L , ZGERV2D , ZGESD2D
030 * ..
031 * .. Intrinsic Functions ..
032 INTRINSIC ABS , DBLE , DIMAG , MOD
033 * ..
034 * .. Statement Functions ..
035 DOUBLE PRECISION CABS1
036 * ..
037 * .. Statement Function definitions ..
038 CABS1( CDUM ) = ABS( DBLE( CDUM ) ) + ABS( DIMAG( CDUM ) )
039 * ..
040 * .. Executable Statements ..
041
042 HBL = DESCA( MB_ )
043 CONTXT = DESCA( CTXT_ )
044 LDA = DESCA( LLD_ )
045 CALL BLACS_GRIDINFO( CONTXT , NPROW , NPCOL , MYROW , MYCOL )
046 LEFT = MOD( MYCOL + NPCOL - 1 , NPCOL )
047 RIGHT = MOD( MYCOL + 1 , NPCOL )
048 UP = MOD( MYROW + NPROW - 1 , NPROW )
049 DOWN = MOD( MYROW + 1 , NPROW )
050 NUM = NPROW*NPCOL
051
052 * On node(II , JJ) collect all DIA , SUP , SUB info from M , M + 1
053
054 MODKM1 = MOD( M + 1 , HBL )
055 IF( MODKM1.EQ.0 ) THEN
055
056 IF(( MYROW.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.
057 $( NPCOL.GT.1 ) ) THEN
057
058 CALL INFOG2L( M + 2 , M + 1 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
059 $ IROW , ICOL , RSRC , JSRC )
060 BUF( 1 ) = A(( ICOL - 1 )*LDA + IROW )
061 CALL ZGESD2D( CONTXT , 1 , 1 , BUF , 1 , II , JJ )
062 END IF
063 IF(( DOWN.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.( NUM.GT.1 ) )
063
064 $ THEN
065 CALL INFOG2L( M , M , DESCA , NPROW , NPCOL , MYROW , MYCOL , IROW ,
066 $ ICOL , RSRC , JSRC )
067 BUF( 1 ) = A(( ICOL - 1 )*LDA + IROW )
068 BUF( 2 ) = A(( ICOL - 1 )*LDA + IROW + 1 )
069 BUF( 3 ) = A( ICOL*LDA + IROW )
070 BUF( 4 ) = A( ICOL*LDA + IROW + 1 )
071 CALL ZGESD2D( CONTXT , 4 , 1 , BUF , 4 , II , JJ )
072 END IF
073 IF(( MYROW.EQ.II ) .AND.( MYCOL.EQ.JJ ) ) THEN
073
074 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
075 $ IROW , ICOL , RSRC , JSRC )
076 IF( NPCOL.GT.1 ) THEN
076
077 CALL ZGERV2D( CONTXT , 1 , 1 , V3 , 1 , MYROW , LEFT )
078 ELSE
078
079 V3 = A(( ICOL - 2 )*LDA + IROW )
080 END IF
081 IF( NUM.GT.1 ) THEN
081
082 CALL ZGERV2D( CONTXT , 4 , 1 , BUF , 4 , UP , LEFT )
083 H11 = BUF( 1 )
084 H21 = BUF( 2 )
085 H12 = BUF( 3 )
086 H22 = BUF( 4 )
087 ELSE
087
088 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
089 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
090 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
091 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
092 END IF
093 END IF
094 END IF
095 IF( MODKM1.EQ.1 ) THEN
095
096 IF(( DOWN.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.( NUM.GT.1 ) )
096
097 $ THEN
098 CALL INFOG2L( M , M , DESCA , NPROW , NPCOL , MYROW , MYCOL , IROW ,
099 $ ICOL , RSRC , JSRC )
100 CALL ZGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
101 $ JJ )
102 END IF
103 IF(( DOWN.EQ.II ) .AND.( MYCOL.EQ.JJ ) .AND.( NPROW.GT.1 ) )
103
104 $ THEN
105 CALL INFOG2L( M , M + 1 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
106 $ IROW , ICOL , RSRC , JSRC )
107 CALL ZGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
108 $ JJ )
109 END IF
110 IF(( MYROW.EQ.II ) .AND.( RIGHT.EQ.JJ ) .AND.
111 $( NPCOL.GT.1 ) ) THEN
111
112 CALL INFOG2L( M + 1 , M , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
113 $ IROW , ICOL , RSRC , JSRC )
114 CALL ZGESD2D( CONTXT , 1 , 1 , A(( ICOL - 1 )*LDA + IROW ) , 1 , II ,
115 $ JJ )
116 END IF
117 IF(( MYROW.EQ.II ) .AND.( MYCOL.EQ.JJ ) ) THEN
117
118 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
119 $ IROW , ICOL , RSRC , JSRC )
120 IF( NUM.GT.1 ) THEN
120
121 CALL ZGERV2D( CONTXT , 1 , 1 , H11 , 1 , UP , LEFT )
122 ELSE
122
123 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
124 END IF
125 IF( NPROW.GT.1 ) THEN
125
126 CALL ZGERV2D( CONTXT , 1 , 1 , H12 , 1 , UP , MYCOL )
127 ELSE
127
128 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
129 END IF
130 IF( NPCOL.GT.1 ) THEN
130
131 CALL ZGERV2D( CONTXT , 1 , 1 , H21 , 1 , MYROW , LEFT )
132 ELSE
132
133 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
134 END IF
135 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
136 V3 = A(( ICOL - 2 )*LDA + IROW )
137 END IF
138 END IF
139 IF(( MYROW.NE.II ) .OR.( MYCOL.NE.JJ ) )
139
140 $ RETURN
141
142 IF( MODKM1.GT.1 ) THEN
142
143 CALL INFOG2L( M + 2 , M + 2 , DESCA , NPROW , NPCOL , MYROW , MYCOL ,
144 $ IROW , ICOL , RSRC , JSRC )
145 H11 = A(( ICOL - 3 )*LDA + IROW - 2 )
146 H21 = A(( ICOL - 3 )*LDA + IROW - 1 )
147 H12 = A(( ICOL - 2 )*LDA + IROW - 2 )
148 H22 = A(( ICOL - 2 )*LDA + IROW - 1 )
149 V3 = A(( ICOL - 2 )*LDA + IROW )
150 END IF
151
152 H44S = H44 - H11
153 H33S = H33 - H11
154 V1 =( H33S*H44S - H43H34 ) / H21 + H12
155 V2 = H22 - H11 - H33S - H44S
156 S = CABS1( V1 ) + CABS1( V2 ) + CABS1( V3 )
157 V1 = V1 / S
158 V2 = V2 / S
159 V3 = V3 / S
160 V( 1 ) = V1
161 V( 2 ) = V2
162 V( 3 ) = V3
163
164 RETURN
165
166 * End of PZLAWIL
167
168 END10
21
|
|
Variables in Routine PZLAWIL()
| Summary Report |
| Data Type | Quantity | Size(byte) |
| COMPLEX*16 | 14 | ? |
| DOUBLE PRECISION | 2 | 8 |
| INTEGER | 31 | 124 |
| REAL | 1 | 4 |
| TOTAL | 48 | 136 |
List of Variables
COMPLEX*16
| BUF( 4 ) | CDUM | H11 | H12 | H21 |
| H22 | H33 | H33S | H43H34 | H44 |
| H44S | V1 | V2 | V3 | |
DOUBLE PRECISION
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 )} |
| CABS1 | <--- | CDUMCABS1( CDUM ) = ABS( DBLE( CDUM ) ) + ABS( DIMAG( CDUM ) ) |
| CONTXT | <--- | CTXT_CONTXT = DESCA( CTXT_ ) |
| DOWN | <--- | MYROWDOWN = MOD( MYROW+1, NPROW ), NPROWDOWN = MOD( MYROW+1, NPROW ) |
| H11 | <--- | BUFH11 = BUF( 1 ), ICOLH11 = A( ( ICOL-3 )*LDA+IROW-2 ){2H11 = A( ( ICOL-3 )*LDA+IROW-2 ), 3H11 = A( ( ICOL-3 )*LDA+IROW-2 )}, 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 | <--- | BUFH12 = BUF( 3 ), ICOLH12 = A( ( ICOL-2 )*LDA+IROW-2 ){2H12 = A( ( ICOL-2 )*LDA+IROW-2 ), 3H12 = A( ( ICOL-2 )*LDA+IROW-2 )}, 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 | <--- | BUFH21 = BUF( 2 ), ICOLH21 = A( ( ICOL-3 )*LDA+IROW-1 ){2H21 = A( ( ICOL-3 )*LDA+IROW-1 ), 3H21 = A( ( ICOL-3 )*LDA+IROW-1 )}, 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 | <--- | BUFH22 = BUF( 4 ), ICOLH22 = A( ( ICOL-2 )*LDA+IROW-1 ){2H22 = A( ( ICOL-2 )*LDA+IROW-1 ), 3H22 = A( ( ICOL-2 )*LDA+IROW-1 )}, 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 | <--- | H11H33S = H33 - H11, H33H33S = H33 - H11 |
| H44S | <--- | H11H44S = H44 - H11, H44H44S = 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 | <--- | CABS1S = CABS1( V1 ) + CABS1( V2 ) + CABS1( V3 ), V1S = CABS1( V1 ) + CABS1( V2 ) + CABS1( V3 ), V2S = CABS1( V1 ) + CABS1( V2 ) + CABS1( V3 ), V3S = CABS1( V1 ) + CABS1( V2 ) + CABS1( 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 | <--- | H11V2 = H22 - H11 - H33S - H44S, H22V2 = H22 - H11 - H33S - H44S, H33SV2 = H22 - H11 - H33S - H44S, H44SV2 = H22 - H11 - H33S - H44S, SV2 = V2 / S, V2V2 = V2 / S |
| 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 PZLAWIL() Put the mouse over each element to display detailed matching information
Assigned variables |
| | | BLOCK_CYCLIC_2D , BUF , CDUM , 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 , CABS1 , CDUM , 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 |
| | CABS1 | : CDUM , V1 , V2 , V3 |
| | 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 ) CABS1 CDUM 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 )
CABS1
CDUM
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
| |