SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ btinfo()

subroutine btinfo ( character*1  test,
integer  memused,
integer, dimension(memlen)  mem,
integer  memlen,
integer  cmemused,
character*1, dimension(cmemlen)  cmem,
integer  cmemlen,
integer  outnum,
integer  nop,
integer  nscope,
integer  trep,
integer  tcoh,
integer  ntop,
integer  nshape,
integer  nmat,
integer  nsrc,
integer  ngrid,
integer  opptr,
integer  scopeptr,
integer  topptr,
integer  uploptr,
integer  diagptr,
integer  mptr,
integer  nptr,
integer  ldsptr,
integer  lddptr,
integer  ldiptr,
integer  rsrcptr,
integer  csrcptr,
integer  rdestptr,
integer  cdestptr,
integer  pptr,
integer  qptr 
)

Definition at line 1057 of file blacstest.f.

1063*
1064* .. Scalar Arguments ..
1065 CHARACTER*1 TEST
1066 INTEGER CDESTPTR, CMEMLEN, CMEMUSED, CSRCPTR, DIAGPTR, LDDPTR,
1067 $ LDIPTR, LDSPTR, MEMLEN, MEMUSED, MPTR, NGRID, NMAT, NOP,
1068 $ NPTR, NSCOPE, NSHAPE, NSRC, NTOP, OPPTR, OUTNUM, PPTR,
1069 $ QPTR, RDESTPTR, RSRCPTR, SCOPEPTR, TCOH, TOPPTR, TREP,
1070 $ UPLOPTR
1071* ..
1072* .. Array Arguments ..
1073 CHARACTER*1 CMEM(CMEMLEN)
1074 INTEGER MEM(MEMLEN)
1075* ..
1076* .. External Functions ..
1077 INTEGER IBTMYPROC, IBTMSGID, IBTSIZEOF
1078 EXTERNAL ibtmyproc, ibtmsgid, ibtsizeof
1079* ..
1080* .. Local Scalars ..
1081 INTEGER IAM, ISIZE, DSIZE
1082* ..
1083* .. Local Arrays ..
1084 INTEGER ITMP(2)
1085* ..
1086* .. Executable Statements ..
1087*
1088 iam = ibtmyproc()
1089 IF( iam .EQ. 0 ) THEN
1090 IF( test .EQ. 'S' ) THEN
1091 CALL rdsdrv( memused, mem, memlen, cmemused, cmem, cmemlen,
1092 $ outnum )
1093 ELSE IF( test .EQ. 'B' ) THEN
1094 CALL rdbsbr( memused, mem, memlen, cmemused, cmem, cmemlen,
1095 $ outnum )
1096 ELSE
1097 CALL rdcomb( memused, mem, memlen, cmemused, cmem, cmemlen,
1098 $ outnum )
1099 END IF
1100 itmp(1) = memused
1101 itmp(2) = cmemused
1102 CALL btsend( 3, 2, itmp, -1, ibtmsgid()+3 )
1103 IF( memlen .GE. memused + cmemused ) THEN
1104 CALL bttranschar( 'I', cmemused, cmem, mem(memused+1) )
1105 ELSE
1106 isize = ibtsizeof('I')
1107 dsize = ibtsizeof('D')
1108 WRITE(outnum,1000) ( (memused+cmemused)*isize + dsize-1 )
1109 $ / dsize
1110 CALL blacs_abort(-1, -1)
1111 END IF
1112 CALL btsend( 3, memused+cmemused, mem, -1, ibtmsgid()+4 )
1113 ELSE
1114 CALL btrecv( 3, 2, itmp, 0, ibtmsgid()+3 )
1115 memused = itmp(1)
1116 cmemused = itmp(2)
1117 IF( memlen .GE. memused + cmemused ) THEN
1118 CALL btrecv( 3, memused+cmemused, mem, 0, ibtmsgid()+4 )
1119 CALL bttranschar( 'C', cmemused, cmem, mem(memused+1) )
1120 ELSE
1121 isize = ibtsizeof('I')
1122 dsize = ibtsizeof('D')
1123 WRITE(outnum,1000) ( (memused+cmemused)*isize + dsize-1 )
1124 $ / dsize
1125 CALL blacs_abort(-1, -1)
1126 END IF
1127 END IF
1128 CALL btunpack( test, mem, memused, nop, nscope, trep, tcoh, ntop,
1129 $ nshape, nmat, nsrc, ngrid, opptr, scopeptr, topptr,
1130 $ uploptr, diagptr, mptr, nptr, ldsptr, lddptr,
1131 $ ldiptr, rsrcptr, csrcptr, rdestptr, cdestptr, pptr,
1132 $ qptr)
1133*
1134 1000 FORMAT('MEM array too short to pack CMEM; increase to at least',
1135 $ i7)
1136*
1137 RETURN
1138*
1139* End BTINFO
1140*
subroutine btunpack(test, mem, memlen, nop, nscope, trep, tcoh, ntop, nshape, nmat, nsrc, ngrid, opptr, scopeptr, topptr, uploptr, diagptr, mptr, nptr, ldsptr, lddptr, ldiptr, rsrcptr, csrcptr, rdestptr, cdestptr, pptr, qptr)
Definition blacstest.f:1397
subroutine rdsdrv(memused, mem, memlen, cmemused, cmem, cmemlen, outnum)
Definition blacstest.f:1548
subroutine bttranschar(transto, n, cmem, imem)
Definition blacstest.f:1039
subroutine rdbsbr(memused, mem, memlen, cmemused, cmem, cmemlen, outnum)
Definition blacstest.f:1914
subroutine rdcomb(memused, mem, memlen, cmemused, cmem, cmemlen, outnum)
Definition blacstest.f:5998
integer function ibtmsgid()
Definition blacstest.f:1361
subroutine btrecv(dtype, n, buff, src, msgid)
Definition btprim.f:207
integer function ibtmyproc()
Definition btprim.f:47
subroutine btsend(dtype, n, buff, dest, msgid)
Definition btprim.f:115
integer function ibtsizeof(type)
Definition btprim.f:286
Here is the call graph for this function:
Here is the caller graph for this function: