DragonFly On-Line Manual Pages
PCLAMR1D(l) ) PCLAMR1D(l)
NAME
SYNOPSIS
SUBROUTINE PCLAMR1D( N, A, IA, JA, DESCA, B, IB, JB, DESCB )
INTEGER IA, IB, JA, JB, N
INTEGER DESCA( * ), DESCB( * )
COMPLEX A( * ), B( * )
INTEGER BLOCK_CYCLIC_2D, DLEN_, DTYPE_, CTXT_, M_, N_, MB_, NB_,
RSRC_, CSRC_, LLD_
PARAMETER ( BLOCK_CYCLIC_2D = 1, DLEN_ = 9, DTYPE_ = 1, CTXT_ = 2,
M_ = 3, N_ = 4, MB_ = 5, NB_ = 6, RSRC_ = 7, CSRC_ = 8, LLD_ = 9 )
INTEGER I, ICTXT, MYCOL, MYROW, NPCOL, NPROW, NQ
INTEGER DESCAA( DLEN_ ), DESCBB( DLEN_ )
EXTERNAL BLACS_GRIDINFO, CGEBR2D, CGEBS2D, PCGEMR2D
INTEGER NUMROC
EXTERNAL NUMROC
IF( BLOCK_CYCLIC_2D*CSRC_*CTXT_*DLEN_*DTYPE_*LLD_*MB_*M_*NB_*N_*
RSRC_.LT.0 )RETURN
IF( N.LE.0 ) RETURN
DO 10 I = 1, DLEN_
DESCAA( I ) = DESCA( I )
DESCBB( I ) = DESCB( I )
10 CONTINUE
DESCAA( M_ ) = 1
DESCBB( M_ ) = 1
DESCAA( LLD_ ) = 1
DESCBB( LLD_ ) = 1
ICTXT = DESCB( CTXT_ )
CALL PCGEMR2D( 1, N, A, IA, JA, DESCAA, B, IB, JB, DESCBB, ICTXT )
CALL BLACS_GRIDINFO( ICTXT, NPROW, NPCOL, MYROW, MYCOL )
NQ = NUMROC( N, DESCB( NB_ ), MYCOL, 0, NPCOL )
IF( MYROW.EQ.0 ) THEN
CALL CGEBS2D( ICTXT, 'C', ' ', NQ, 1, B, NQ )
ELSE
CALL CGEBR2D( ICTXT, 'C', ' ', NQ, 1, B, NQ, 0, MYCOL )
END IF
RETURN
END
PURPOSE
ScaLAPACK version 1.7 13 August 2001 PCLAMR1D(l)