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

◆ pdblas2tstchke()

subroutine pdblas2tstchke ( logical, dimension( * )  ltest,
integer  inout,
integer  nprocs 
)

Definition at line 1990 of file pdblas2tst.f.

1991*
1992* -- PBLAS test routine (version 2.0) --
1993* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
1994* and University of California, Berkeley.
1995* April 1, 1998
1996*
1997* .. Scalar Arguments ..
1998 INTEGER INOUT, NPROCS
1999* ..
2000* .. Array Arguments ..
2001 LOGICAL LTEST( * )
2002* ..
2003*
2004* Purpose
2005* =======
2006*
2007* PDBLAS2TSTCHKE tests the error exits of the Level 2 PBLAS.
2008*
2009* Arguments
2010* =========
2011*
2012* LTEST (global input) LOGICAL array
2013* On entry, LTEST is an array of dimension at least 7 (NSUBS).
2014* If LTEST( 1 ) is .TRUE., PDGEMV will be tested;
2015* If LTEST( 2 ) is .TRUE., PDSYMV will be tested;
2016* If LTEST( 3 ) is .TRUE., PDTRMV will be tested;
2017* If LTEST( 4 ) is .TRUE., PDTRSV will be tested;
2018* If LTEST( 5 ) is .TRUE., PDGER will be tested;
2019* If LTEST( 6 ) is .TRUE., PDSYR will be tested;
2020* If LTEST( 7 ) is .TRUE., PDSYR2 will be tested;
2021*
2022* INOUT (global input) INTEGER
2023* On entry, INOUT specifies the unit number for output file.
2024* When INOUT is 6, output to screen, when INOUT = 0, output to
2025* stderr. INOUT is only defined in process 0.
2026*
2027* NPROCS (global input) INTEGER
2028* On entry, NPROCS specifies the total number of processes cal-
2029* ling this routine.
2030*
2031* Calling sequence encodings
2032* ==========================
2033*
2034* code Formal argument list Examples
2035*
2036* 11 (n, v1,v2) _SWAP, _COPY
2037* 12 (n,s1, v1 ) _SCAL, _SCAL
2038* 13 (n,s1, v1,v2) _AXPY, _DOT_
2039* 14 (n,s1,i1,v1 ) _AMAX
2040* 15 (n,u1, v1 ) _ASUM, _NRM2
2041*
2042* 21 ( trans, m,n,s1,m1,v1,s2,v2) _GEMV
2043* 22 (uplo, n,s1,m1,v1,s2,v2) _SYMV, _HEMV
2044* 23 (uplo,trans,diag, n, m1,v1 ) _TRMV, _TRSV
2045* 24 ( m,n,s1,v1,v2,m1) _GER_
2046* 25 (uplo, n,s1,v1, m1) _SYR
2047* 26 (uplo, n,u1,v1, m1) _HER
2048* 27 (uplo, n,s1,v1,v2,m1) _SYR2, _HER2
2049*
2050* 31 ( transa,transb, m,n,k,s1,m1,m2,s2,m3) _GEMM
2051* 32 (side,uplo, m,n, s1,m1,m2,s2,m3) _SYMM, _HEMM
2052* 33 ( uplo,trans, n,k,s1,m1, s2,m3) _SYRK
2053* 34 ( uplo,trans, n,k,u1,m1, u2,m3) _HERK
2054* 35 ( uplo,trans, n,k,s1,m1,m2,s2,m3) _SYR2K
2055* 36 ( uplo,trans, n,k,s1,m1,m2,u2,m3) _HER2K
2056* 37 ( m,n, s1,m1, s2,m3) _TRAN_
2057* 38 (side,uplo,transa, diag,m,n, s1,m1,m2 ) _TRMM, _TRSM
2058* 39 ( trans, m,n, s1,m1, s2,m3) _GEADD
2059* 40 ( uplo,trans, m,n, s1,m1, s2,m3) _TRADD
2060*
2061* -- Written on April 1, 1998 by
2062* Antoine Petitet, University of Tennessee, Knoxville 37996, USA.
2063*
2064* =====================================================================
2065*
2066* .. Parameters ..
2067 INTEGER NSUBS
2068 parameter( nsubs = 7 )
2069* ..
2070* .. Local Scalars ..
2071 LOGICAL ABRTSAV
2072 INTEGER I, ICTXT, MYCOL, MYROW, NPCOL, NPROW
2073* ..
2074* .. Local Arrays ..
2075 INTEGER SCODE( NSUBS )
2076* ..
2077* .. External Subroutines ..
2078 EXTERNAL blacs_get, blacs_gridexit, blacs_gridinfo,
2079 $ blacs_gridinit, pddimee, pdgemv, pdger,
2080 $ pdmatee, pdoptee, pdsymv, pdsyr, pdsyr2,
2081 $ pdtrmv, pdtrsv, pdvecee
2082* ..
2083* .. Common Blocks ..
2084 LOGICAL ABRTFLG
2085 INTEGER NOUT
2086 CHARACTER*7 SNAMES( NSUBS )
2087 COMMON /snamec/snames
2088 COMMON /pberrorc/nout, abrtflg
2089* ..
2090* .. Data Statements ..
2091 DATA scode/21, 22, 23, 23, 24, 25, 27/
2092* ..
2093* .. Executable Statements ..
2094*
2095* Temporarily define blacs grid to include all processes so
2096* information can be broadcast to all processes.
2097*
2098 CALL blacs_get( -1, 0, ictxt )
2099 CALL blacs_gridinit( ictxt, 'Row-major', 1, nprocs )
2100 CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
2101*
2102* Set ABRTFLG to FALSE so that the PBLAS error handler won't abort
2103* on errors during these tests and set the output device unit for
2104* it.
2105*
2106 abrtsav = abrtflg
2107 abrtflg = .false.
2108 nout = inout
2109*
2110* Test PDGEMV
2111*
2112 i = 1
2113 IF( ltest( i ) ) THEN
2114 CALL pdoptee( ictxt, nout, pdgemv, scode( i ), snames( i ) )
2115 CALL pddimee( ictxt, nout, pdgemv, scode( i ), snames( i ) )
2116 CALL pdmatee( ictxt, nout, pdgemv, scode( i ), snames( i ) )
2117 CALL pdvecee( ictxt, nout, pdgemv, scode( i ), snames( i ) )
2118 END IF
2119*
2120* Test PDSYMV
2121*
2122 i = i + 1
2123 IF( ltest( i ) ) THEN
2124 CALL pdoptee( ictxt, nout, pdsymv, scode( i ), snames( i ) )
2125 CALL pddimee( ictxt, nout, pdsymv, scode( i ), snames( i ) )
2126 CALL pdmatee( ictxt, nout, pdsymv, scode( i ), snames( i ) )
2127 CALL pdvecee( ictxt, nout, pdsymv, scode( i ), snames( i ) )
2128 END IF
2129*
2130* Test PDTRMV
2131*
2132 i = i + 1
2133 IF( ltest( i ) ) THEN
2134 CALL pdoptee( ictxt, nout, pdtrmv, scode( i ), snames( i ) )
2135 CALL pddimee( ictxt, nout, pdtrmv, scode( i ), snames( i ) )
2136 CALL pdmatee( ictxt, nout, pdtrmv, scode( i ), snames( i ) )
2137 CALL pdvecee( ictxt, nout, pdtrmv, scode( i ), snames( i ) )
2138 END IF
2139*
2140* Test PDTRSV
2141*
2142 i = i + 1
2143 IF( ltest( i ) ) THEN
2144 CALL pdoptee( ictxt, nout, pdtrsv, scode( i ), snames( i ) )
2145 CALL pddimee( ictxt, nout, pdtrsv, scode( i ), snames( i ) )
2146 CALL pdmatee( ictxt, nout, pdtrsv, scode( i ), snames( i ) )
2147 CALL pdvecee( ictxt, nout, pdtrsv, scode( i ), snames( i ) )
2148 END IF
2149*
2150* Test PDGER
2151*
2152 i = i + 1
2153 IF( ltest( i ) ) THEN
2154 CALL pddimee( ictxt, nout, pdger, scode( i ), snames( i ) )
2155 CALL pdvecee( ictxt, nout, pdger, scode( i ), snames( i ) )
2156 CALL pdmatee( ictxt, nout, pdger, scode( i ), snames( i ) )
2157 END IF
2158*
2159* Test PDSYR
2160*
2161 i = i + 1
2162 IF( ltest( i ) ) THEN
2163 CALL pdoptee( ictxt, nout, pdsyr, scode( i ), snames( i ) )
2164 CALL pddimee( ictxt, nout, pdsyr, scode( i ), snames( i ) )
2165 CALL pdvecee( ictxt, nout, pdsyr, scode( i ), snames( i ) )
2166 CALL pdmatee( ictxt, nout, pdsyr, scode( i ), snames( i ) )
2167 END IF
2168*
2169* Test PDSYR2
2170*
2171 i = i + 1
2172 IF( ltest( i ) ) THEN
2173 CALL pdoptee( ictxt, nout, pdsyr2, scode( i ), snames( i ) )
2174 CALL pddimee( ictxt, nout, pdsyr2, scode( i ), snames( i ) )
2175 CALL pdvecee( ictxt, nout, pdsyr2, scode( i ), snames( i ) )
2176 CALL pdmatee( ictxt, nout, pdsyr2, scode( i ), snames( i ) )
2177 END IF
2178*
2179 IF( myrow.EQ.0 .AND. mycol.EQ.0 )
2180 $ WRITE( nout, fmt = 9999 )
2181*
2182 CALL blacs_gridexit( ictxt )
2183*
2184* Reset ABRTFLG to the value it had before calling this routine
2185*
2186 abrtflg = abrtsav
2187*
2188 9999 FORMAT( 2x, 'Error-exit tests completed.' )
2189*
2190 RETURN
2191*
2192* End of PDBLAS2TSTCHKE
2193*
subroutine pdoptee(ictxt, nout, subptr, scode, sname)
Definition pdblastst.f:2
subroutine pdmatee(ictxt, nout, subptr, scode, sname)
Definition pdblastst.f:1190
subroutine pddimee(ictxt, nout, subptr, scode, sname)
Definition pdblastst.f:455
subroutine pdvecee(ictxt, nout, subptr, scode, sname)
Definition pdblastst.f:936
Here is the call graph for this function:
Here is the caller graph for this function: