<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I can reproduce the hang with </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
mpiexec -n 2 ./matmatmult</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It seems in an infinite loop of calling MatDensePlaceArray() from </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
#0  MatDensePlaceArray (mat=0xda5c50, array=0xd15e60)
<div>    at /home/hongsu/soft/petsc/src/mat/impls/dense/mpi/mpidense.c:2047</div>
<div>#1  0x00007fa0d13bf4f7 in MatDenseGetSubMatrix_SeqDense (A=0xcfb2b0, cbegin=0,</div>
<div>    cend=0, v=0xd90370)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/impls/dense/seq/dense.c:2997</div>
<div>#2  0x00007fa0d13c574e in MatDenseGetSubMatrix (A=0xcfb2b0, cbegin=0, cend=0,</div>
<div>    v=0xd90370) at /home/hongsu/soft/petsc/src/mat/impls/dense/seq/dense.c:3371</div>
<div>#3  0x00007fa0d13db5ce in MatDenseGetSubMatrix_MPIDense (A=0xca5250, cbegin=0,</div>
<div>    cend=0, v=0x7ffe87d41de0)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/impls/dense/mpi/mpidense.c:1835</div>
<div>#4  0x00007fa0d13c574e in MatDenseGetSubMatrix (A=0xca5250, cbegin=0, cend=0,</div>
<div>    v=0x7ffe87d41de0)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/impls/dense/seq/dense.c:3371</div>
<div>#5  0x00007fa0d179c2fa in MatMatMultNumeric_MPIAIJ_MPIDense (A=0xc55490,</div>
<div>    B=0xca5250, C=0xd282b0)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/impls/aij/mpi/mpimatmatmult.c:593</div>
<div>#6  0x00007fa0d1181331 in MatProductNumeric_AB (mat=0xd282b0)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/interface/matproduct.c:567</div>
<div>#7  0x00007fa0d1182c14 in MatProductNumeric (mat=0xd282b0)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/interface/matproduct.c:679</div>
<div>#8  0x00007fa0d115ef69 in MatProduct_Private (A=0xc55490, B=0xca5250,</div>
<div>    scall=MAT_INITIAL_MATRIX, fill=-2, ptype=MATPRODUCT_AB, C=0x7ffe87d42018)</div>
<div>    at /home/hongsu/soft/petsc/src/mat/interface/matrix.c:9405</div>
<div>---Type <return> to continue, or q <return> to quit---</div>
<div>#9  0x00007fa0d115f274 in MatMatMult (A=0xc55490, B=0xca5250, scall=MAT_INITIAL_MATRIX, fill=-2,</div>
<div>    C=0x7ffe87d42018) at /home/hongsu/soft/petsc/src/mat/interface/matrix.c:9445</div>
#10 0x000000000040130a in main (argc=2, argv=0x7ffe87d42108) at ex1.c:20<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'll try to figure out what is going on. If anyone has a clue, please help. The above stack comes from 'release' branch.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hong</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> petsc-dev <petsc-dev-bounces@mcs.anl.gov> on behalf of Pierre Jolivet <pierre@joliv.et><br>
<b>Sent:</b> Sunday, February 28, 2021 4:17 PM<br>
<b>To:</b> For users of the development version of PETSc <petsc-dev@mcs.anl.gov><br>
<b>Subject:</b> [petsc-dev] Infinite loop in A*B</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hello,<br>
The following MWE loops indefinitely for MPI_Comm_size in {2; 3}.<br>
Nothing fancy, just MatAIJ and MatDense.<br>
The problem is either in MatMPIDenseScatter() or MatMatMultSymbolic_MPIAIJ_MPIDense(), I believe, so if someone familiar with those routines can figure out a hot fix, I’m all ears.<br>
I could of course switch to a MatMult(), but the same infinite loop happens in another more complex code with<br>
A = rows=8, cols=35212<br>
B = rows=35212, cols=9<br>
So I’ll need a fix eventually.<br>
<br>
Thanks,<br>
Pierre<br>
<br>
</div>
</span></font></div>
</body>
</html>