<div dir="ltr">
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:21px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">The right call in petsc4py is</span></p><p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:21px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><br></span></p><p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:21px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">P.setSizes(((nrowsLoc,PETSc.DECIDE),(ncolsLoc,PETSc.DECIDE)),</span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">1</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">)</span></p><p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:21px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><br></span></p><p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:21px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><a href="https://petsc.org/main/petsc4py/reference/petsc4py.PETSc.Mat.html#petsc4py.PETSc.Mat.setSizes">https://petsc.org/main/petsc4py/reference/petsc4py.PETSc.Mat.html#petsc4py.PETSc.Mat.setSizes</a><br></span></p></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 6 giu 2023 alle ore 13:05 Blaise Bourdin <<a href="mailto:bourdin@mcmaster.ca">bourdin@mcmaster.ca</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div><font size="2"><span style="font-size:11pt">
<div>Hi,<br>
<br>
Does anybody understand why MatSetSizes seem to behave differently in C and python?<br>
<br>
I would expect the attached examples to be strictly equivalent but the python version fails in parallel. It may be that the python interface is different, but I don’t see any mention of this in the python docs.<br>
<br>
Regards,<br>
Blaise<br>
<br>
<br>
SiBookPro:test (master)$ mpirun -np 2 python3 testL2G2.py nrowsLoc: 10 ncolsLoc: 20<br>
Traceback (most recent call last):<br>
File "/Users/blaise/Development/ccG_CR/test/testL2G2.py", line 20, in <module><br>
nrowsLoc: 11 ncolsLoc: 21<br>
Traceback (most recent call last):<br>
File "/Users/blaise/Development/ccG_CR/test/testL2G2.py", line 20, in <module><br>
sys.exit(main())<br>
sys.exit(main())<br>
^^^^^^<br>
File "/Users/blaise/Development/ccG_CR/test/testL2G2.py", line 12, in main<br>
^^^^^^<br>
File "/Users/blaise/Development/ccG_CR/test/testL2G2.py", line 12, in main<br>
P.setSizes([nrowsLoc,ncolsLoc],1)<br>
P.setSizes([nrowsLoc,ncolsLoc],1)<br>
File "petsc4py/PETSc/Mat.pyx", line 323, in petsc4py.PETSc.Mat.setSizes<br>
petsc4py.PETSc.Error: error code 62<br>
[1] MatSetSizes() at /opt/HPC/petsc-release/src/mat/utils/gcreate.c:161<br>
[1] Invalid argument<br>
[1] Int value must be same on all processes, argument # 4<br>
File "petsc4py/PETSc/Mat.pyx", line 323, in petsc4py.PETSc.Mat.setSizes<br>
petsc4py.PETSc.Error: error code 62<br>
[0] MatSetSizes() at /opt/HPC/petsc-release/src/mat/utils/gcreate.c:161<br>
[0] Invalid argument<br>
[0] Int value must be same on all processes, argument # 4<br>
<br>
<br>
</div>
</span></font></div>
<div><font size="2"><span style="font-size:11pt">
<div><br>
<br>
— <br>
Canada Research Chair in Mathematical and Computational Aspects of Solid Mechanics (Tier 1)<br>
Professor, Department of Mathematics & Statistics<br>
Hamilton Hall room 409A, McMaster University<br>
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada <br>
<a href="https://www.math.mcmaster.ca/bourdin" target="_blank">https://www.math.mcmaster.ca/bourdin</a> | +1 (905) 525 9140 ext. 27243<br>
<br>
</div>
</span></font></div>
</div>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Stefano</div>