version 1.2, 2017/06/17 11:06:35
|
version 1.5, 2023/08/07 08:39:10
|
Line 50
|
Line 50
|
* Arguments: |
* Arguments: |
* ========== |
* ========== |
* |
* |
*> \param[in] STAGE |
*> \param[in] STAGE1 |
*> \verbatim |
*> \verbatim |
*> STAGE is CHARACTER*1 |
*> STAGE1 is CHARACTER*1 |
*> = 'N': "No": to mention that the stage 1 of the reduction |
*> = 'N': "No": to mention that the stage 1 of the reduction |
*> from dense to band using the dsytrd_sy2sb routine |
*> from dense to band using the dsytrd_sy2sb routine |
*> was not called before this routine to reproduce AB. |
*> was not called before this routine to reproduce AB. |
Line 188
|
Line 188
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date December 2016 |
|
* |
|
*> \ingroup real16OTHERcomputational |
*> \ingroup real16OTHERcomputational |
* |
* |
*> \par Further Details: |
*> \par Further Details: |
Line 236
|
Line 234
|
* |
* |
IMPLICIT NONE |
IMPLICIT NONE |
* |
* |
* -- LAPACK computational routine (version 3.7.0) -- |
* -- LAPACK computational routine -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* December 2016 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER STAGE1, UPLO, VECT |
CHARACTER STAGE1, UPLO, VECT |
Line 270
|
Line 267
|
$ SIDEV, SIZETAU, LDV, LHMIN, LWMIN |
$ SIDEV, SIZETAU, LDV, LHMIN, LWMIN |
* .. |
* .. |
* .. External Subroutines .. |
* .. External Subroutines .. |
EXTERNAL DSB2ST_KERNELS, DLACPY, DLASET |
EXTERNAL DSB2ST_KERNELS, DLACPY, DLASET, XERBLA |
* .. |
* .. |
* .. Intrinsic Functions .. |
* .. Intrinsic Functions .. |
INTRINSIC MIN, MAX, CEILING, REAL |
INTRINSIC MIN, MAX, CEILING, REAL |
* .. |
* .. |
* .. External Functions .. |
* .. External Functions .. |
LOGICAL LSAME |
LOGICAL LSAME |
INTEGER ILAENV |
INTEGER ILAENV2STAGE |
EXTERNAL LSAME, ILAENV |
EXTERNAL LSAME, ILAENV2STAGE |
* .. |
* .. |
* .. Executable Statements .. |
* .. Executable Statements .. |
* |
* |
Line 294
|
Line 291
|
* |
* |
* Determine the block size, the workspace size and the hous size. |
* Determine the block size, the workspace size and the hous size. |
* |
* |
IB = ILAENV( 18, 'DSYTRD_SB2ST', VECT, N, KD, -1, -1 ) |
IB = ILAENV2STAGE( 2, 'DSYTRD_SB2ST', VECT, N, KD, -1, -1 ) |
LHMIN = ILAENV( 19, 'DSYTRD_SB2ST', VECT, N, KD, IB, -1 ) |
LHMIN = ILAENV2STAGE( 3, 'DSYTRD_SB2ST', VECT, N, KD, IB, -1 ) |
LWMIN = ILAENV( 20, 'DSYTRD_SB2ST', VECT, N, KD, IB, -1 ) |
LWMIN = ILAENV2STAGE( 4, 'DSYTRD_SB2ST', VECT, N, KD, IB, -1 ) |
* |
* |
IF( .NOT.AFTERS1 .AND. .NOT.LSAME( STAGE1, 'N' ) ) THEN |
IF( .NOT.AFTERS1 .AND. .NOT.LSAME( STAGE1, 'N' ) ) THEN |
INFO = -1 |
INFO = -1 |
Line 392
|
Line 389
|
* For that, for real precision just copy the diag and offdiag |
* For that, for real precision just copy the diag and offdiag |
* to D and E while for the COMPLEX case the bulge chasing is |
* to D and E while for the COMPLEX case the bulge chasing is |
* performed to convert the hermetian tridiagonal to symmetric |
* performed to convert the hermetian tridiagonal to symmetric |
* tridiagonal. A simpler coversion formula might be used, but then |
* tridiagonal. A simpler conversion formula might be used, but then |
* updating the Q matrix will be required and based if Q is generated |
* updating the Q matrix will be required and based if Q is generated |
* or not this might complicate the story. |
* or not this might complicate the story. |
* |
* |
Line 481
|
Line 478
|
* |
* |
* Call the kernel |
* Call the kernel |
* |
* |
#if defined(_OPENMP) |
#if defined(_OPENMP) && _OPENMP >= 201307 |
IF( TTYPE.NE.1 ) THEN |
IF( TTYPE.NE.1 ) THEN |
!$OMP TASK DEPEND(in:WORK(MYID+SHIFT-1)) |
!$OMP TASK DEPEND(in:WORK(MYID+SHIFT-1)) |
!$OMP$ DEPEND(in:WORK(MYID-1)) |
!$OMP$ DEPEND(in:WORK(MYID-1)) |