Skip to content

Commit 7eac1cf

Browse files
authored
Merge branch 'Reference-ScaLAPACK:master' into master
2 parents 61c60f5 + 1d2d42d commit 7eac1cf

File tree

5 files changed

+24
-28
lines changed

5 files changed

+24
-28
lines changed

BLACS/SRC/blacs_exit_.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ F_VOID_FUNC blacs_exit_(Int *NotDone)
1212
Int BI_BuffIsFree(BLACBUFF *, Int);
1313
BLACBUFF *bp;
1414
extern BLACBUFF *BI_ReadyB, *BI_ActiveQ, BI_AuxBuff;
15+
extern MPI_Status *BI_Stats;
1516
Int i;
1617
extern Int BI_MaxNCtxt, BI_Np;
1718
extern BLACSCONTEXT **BI_MyContxts;
@@ -30,6 +31,7 @@ F_VOID_FUNC blacs_exit_(Int *NotDone)
3031
free(bp);
3132
}
3233
free (BI_AuxBuff.Aops);
34+
free (BI_Stats);
3335

3436
/*
3537
* Reset parameters to initial values
@@ -39,7 +41,12 @@ F_VOID_FUNC blacs_exit_(Int *NotDone)
3941
BI_Np = -1;
4042
if (!Mpval(NotDone))
4143
{
42-
MPI_Finalize();
44+
free(BI_COMM_WORLD);
45+
BI_COMM_WORLD = NULL;
46+
MPI_Finalize();
4347
}
4448
BI_ReadyB = NULL;
49+
BI_ActiveQ = NULL;
50+
BI_AuxBuff.Aops = NULL;
51+
BI_Stats = NULL;
4552
}

BLACS/SRC/blacs_pinfo_.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ F_VOID_FUNC blacs_pinfo_(Int *mypnum, Int *nprocs)
2020

2121
BI_COMM_WORLD = (Int *) malloc(sizeof(Int));
2222
*BI_COMM_WORLD = MPI_Comm_c2f(MPI_COMM_WORLD);
23-
MPI_Comm_size(MPI_COMM_WORLD, &Np);
24-
MPI_Comm_rank(MPI_COMM_WORLD, &Iam);
2523
}
24+
MPI_Comm_size(MPI_COMM_WORLD, &Np);
25+
MPI_Comm_rank(MPI_COMM_WORLD, &Iam);
2626
*mypnum = BI_Iam = Iam;
2727
*nprocs = BI_Np = Np;
2828
}

SRC/pdtrord.f

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
334334
* ..
335335
* .. Local Arrays ..
336336
INTEGER IBUFF( 8 ), IDUM1( 1 ), IDUM2( 1 ), MMAX( 1 ),
337-
$ MMIN( 1 ), INFODUM( 1 )
337+
$ MMIN( 1 )
338338
* ..
339339
* .. External Functions ..
340340
LOGICAL LSAME
@@ -522,9 +522,8 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
522522
* Global maximum on info.
523523
*
524524
IF( NPROCS.GT.1 ) THEN
525-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1, -1, -1,
525+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, -1, -1,
526526
$ -1, -1 )
527-
INFO = INFODUM( 1 )
528527
END IF
529528
*
530529
* Return if some argument is incorrect.
@@ -1580,9 +1579,8 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
15801579
*
15811580
MYIERR = IERR
15821581
IF( NPROCS.GT.1 ) THEN
1583-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
1582+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1,
15841583
$ -1, -1, -1, -1 )
1585-
IERR = INFODUM( 1 )
15861584
END IF
15871585
*
15881586
IF( IERR.NE.0 ) THEN
@@ -1592,9 +1590,8 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
15921590
*
15931591
IF( MYIERR.NE.0 ) INFO = MAX(1,I+KKS-1)
15941592
IF( NPROCS.GT.1 ) THEN
1595-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
1593+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1,
15961594
$ -1, -1, -1, -1 )
1597-
INFO = INFODUM( 1 )
15981595
END IF
15991596
GO TO 300
16001597
END IF
@@ -3253,9 +3250,8 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
32533250
*
32543251
MYIERR = IERR
32553252
IF( NPROCS.GT.1 ) THEN
3256-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
3253+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1,
32573254
$ -1, -1, -1, -1 )
3258-
IERR = INFODUM( 1 )
32593255
END IF
32603256
*
32613257
IF( IERR.NE.0 ) THEN
@@ -3265,9 +3261,8 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
32653261
*
32663262
IF( MYIERR.NE.0 ) INFO = MAX(1,I+KKS-1)
32673263
IF( NPROCS.GT.1 ) THEN
3268-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
3264+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1,
32693265
$ -1, -1, -1, -1 )
3270-
IERR = INFODUM( 1 )
32713266
END IF
32723267
GO TO 300
32733268
END IF

SRC/pstrord.f

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
334334
* ..
335335
* .. Local Arrays ..
336336
INTEGER IBUFF( 8 ), IDUM1( 1 ), IDUM2( 1 ), MMAX( 1 ),
337-
$ MMIN( 1 ), INFODUM( 1 )
337+
$ MMIN( 1 )
338338
* ..
339339
* .. External Functions ..
340340
LOGICAL LSAME
@@ -522,9 +522,8 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
522522
* Global maximum on info.
523523
*
524524
IF( NPROCS.GT.1 ) THEN
525-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1, -1,
525+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, -1,
526526
$ -1, -1, -1 )
527-
INFO = INFODUM( 1 )
528527
END IF
529528
*
530529
* Return if some argument is incorrect.
@@ -1580,9 +1579,8 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
15801579
*
15811580
MYIERR = IERR
15821581
IF( NPROCS.GT.1 ) THEN
1583-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
1582+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1,
15841583
$ -1, -1, -1, -1 )
1585-
IERR = INFODUM( 1 )
15861584
END IF
15871585
*
15881586
IF( IERR.NE.0 ) THEN
@@ -1592,9 +1590,8 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
15921590
*
15931591
IF( MYIERR.NE.0 ) INFO = MAX(1,I+KKS-1)
15941592
IF( NPROCS.GT.1 ) THEN
1595-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
1593+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1,
15961594
$ -1, -1, -1, -1 )
1597-
INFO = INFODUM( 1 )
15981595
END IF
15991596
GO TO 300
16001597
END IF
@@ -3253,9 +3250,8 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
32533250
*
32543251
MYIERR = IERR
32553252
IF( NPROCS.GT.1 ) THEN
3256-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
3253+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, IERR, 1, -1,
32573254
$ -1, -1, -1, -1 )
3258-
IERR = INFODUM( 1 )
32593255
END IF
32603256
*
32613257
IF( IERR.NE.0 ) THEN
@@ -3265,9 +3261,8 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT,
32653261
*
32663262
IF( MYIERR.NE.0 ) INFO = MAX(1,I+KKS-1)
32673263
IF( NPROCS.GT.1 ) THEN
3268-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1,
3264+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1,
32693265
$ -1, -1, -1, -1 )
3270-
INFO = INFODUM( 1 )
32713266
END IF
32723267
GO TO 300
32733268
END IF

SRC/pstrsen.f

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ SUBROUTINE PSTRSEN( JOB, COMPQ, SELECT, PARA, N, T, IT, JT,
361361
REAL ELEM, EST, SCALE, RNORM
362362
* .. Local Arrays ..
363363
INTEGER DESCT12( DLEN_ ), MBNB2( 2 ), MMAX( 1 ),
364-
$ MMIN( 1 ), INFODUM( 1 )
364+
$ MMIN( 1 )
365365
REAL DPDUM1( 1 )
366366
* ..
367367
* .. External Functions ..
@@ -605,9 +605,8 @@ SUBROUTINE PSTRSEN( JOB, COMPQ, SELECT, PARA, N, T, IT, JT,
605605
* Global maximum on info
606606
*
607607
IF( NPROCS.GT.1 ) THEN
608-
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFODUM, 1, -1, -1, -1,
608+
CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, INFO, 1, -1, -1, -1,
609609
$ -1, -1 )
610-
INFO = INFODUM( 1 )
611610
END IF
612611
*
613612
* Return if some argument is incorrect

0 commit comments

Comments
 (0)