<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 4, 2018 at 1:03 PM, Jean-Yves LExcellent <span dir="ltr"><<a href="mailto:Jean-Yves.L.Excellent@ens-lyon.fr" target="_blank">Jean-Yves.L.Excellent@ens-lyon.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div class="m_-1671753951163694093moz-cite-prefix">
<div class="m_-1671753951163694093moz-cite-prefix"><br>
Thanks for the details of your needs.<br>
<br>
For the first application, the sparse RHS feature with
distributed<br>
solution should effectively be fine.<br></div></div></div></blockquote><div>I'll add parallel support of this feature in petsc after I'm back the ANL after June 14th.</div><div>Hong</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div class="m_-1671753951163694093moz-cite-prefix"><div class="m_-1671753951163694093moz-cite-prefix">
<br>
For the second one, a future distributed RHS feature (not
currently<br>
available in MUMPS) might help if the centralized sparse RHS is
too<br>
memory consuming, depending on the size of B1.<br>
<br>
Regards,<br>
Jean-Yves, for the MUMPS developers<br>
<br>
<br>
</div><span class="">
<blockquote type="cite">
<div style="font-family:Verdana;font-size:12.0px">
<div> I want to invert a rather large sparse matrix for this
using a sparse rhs with centralized input would be ok as
long as the solution is distributed. </div>
</div>
</blockquote>
</span></div>
<blockquote type="cite">
<div style="font-family:Verdana;font-size:12.0px">
<div>and the second application I have in mind is solving a
system of the from AX=B where A and B are sparse and B is
given by a block matrix of the form B=[B1 0, 0 0] where B1 is
dense but the dimension is (much) smaller than that of the
whole matrix B.
<div><div class="h5"><div name="quote" style="margin:10px 5px 5px 10px;padding:10px 0 10px 10px;border-left:2px solid #c3d9e5;word-wrap:break-word">
<div style="margin:0 0 10px 0"> </div>
<div name="quoted-content">
<div>
<div class="gmail_extra">
<div class="gmail_quote">Marius:</div>
<div class="gmail_quote">Current PETSc interface
supports sequential sparse <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">multiple right-hand side,
but not distributed.</span></div>
<div class="gmail_quote">It turns out that mumps does
not support <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">distributed sparse multiple
right-hand sides at</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">the moment (see attached
email). </span></div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">Jean-Yves invites you to
communicate with him directly. </span></span></div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">Let me know what we can
help on this matter, </span></span></div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">e.g., add support for
parallel implementation of <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">sparse </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">multiple
right-hand side with </span></span></span></div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">centralized
rhs input?</span></span></span></div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">Hong</span></span></div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">----------------------</span></div>
<div class="gmail_quote">
<div class="m_-1671753951163694093gmail-gE m_-1671753951163694093gmail-iv m_-1671753951163694093gmail-gt" style="padding:10.0px 0.0px 3.0px;font-size:12.8px;color:rgb(34,34,34);font-family:arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255)">
<table class="m_-1671753951163694093gmail-cf m_-1671753951163694093gmail-gJ" style="border-collapse:collapse;margin-top:0.0px;width:auto" cellpadding="0">
<tbody>
<tr class="m_-1671753951163694093gmail-acZ" style="height:16.0px">
<td class="m_-1671753951163694093gmail-gF m_-1671753951163694093gmail-gK" style="font-family:arial,sans-serif;margin:0.0px;text-align:left;white-space:nowrap;padding-right:8.0px;vertical-align:top;width:270.667px;padding-top:0.0px">
<table class="m_-1671753951163694093gmail-cf m_-1671753951163694093gmail-ix" style="border-collapse:collapse;table-layout:fixed;width:270.667px" cellpadding="0">
<tbody>
<tr>
<td style="font-family:arial,sans-serif;margin:0.0px">
<h3 class="m_-1671753951163694093gmail-iw" style="overflow:hidden;white-space:nowrap;max-width:92.0%;display:inline-block;font-size:inherit;font-weight:inherit;margin:inherit"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span class="m_-1671753951163694093gmail-gD" style="color:rgb(34,34,34);font-size:12.8px;font-weight:bold;white-space:nowrap;display:inline;vertical-align:top">Jean-Yves
LExcellent</span><span> </span><span class="m_-1671753951163694093gmail-go" style="vertical-align:top;color:rgb(85,85,85)"><span><</span><a href="mailto:Jean-Yves.L.Excellent@ens-lyon.fr" target="_blank">Jean-Yves.L.<wbr>Excellent@ens-lyon.fr</a><span>></span></span></span></h3>
</td>
</tr>
</tbody>
</table>
</td>
<td class="m_-1671753951163694093gmail-gH m_-1671753951163694093gmail-bAk" style="font-family:arial,sans-serif;margin:0.0px;text-align:right;white-space:nowrap;vertical-align:top;color:rgb(34,34,34)">
<div class="m_-1671753951163694093gmail-gK" style="padding-top:0.0px;padding-right:2.0px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span class="m_-1671753951163694093gmail-g3" id="m_-1671753951163694093gmail-:pm" style="vertical-align:top;margin-right:3.0px" title="Fri, Jun 1, 2018 at 5:14 AM">5:14
AM (3 hours ago)</span></span>
<div class="m_-1671753951163694093gmail-zd m_-1671753951163694093gmail-bi4" style="display:inline-block;height:20.0px;outline:0.0px" title="Not
starred"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span class="m_-1671753951163694093gmail-T-KT" style="display:inline-block;height:19.0px;text-align:center;width:19.0px;padding:2.0px"><img alt="" class="m_-1671753951163694093gmail-f m_-1671753951163694093gmail-T-KT-JX" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style="margin-top:0.0px;vertical-align:top"></span></span></div>
</div>
</td>
<td class="m_-1671753951163694093gmail-gH" style="font-family:arial,sans-serif;margin:0.0px;text-align:right;white-space:nowrap;vertical-align:top;color:rgb(34,34,34)"> </td>
<td class="m_-1671753951163694093gmail-gH m_-1671753951163694093gmail-acX m_-1671753951163694093gmail-bAm" rowspan="2" style="font-family:arial,sans-serif;margin:0.0px;text-align:right;white-space:nowrap;vertical-align:top;color:rgb(34,34,34)">
<div class="m_-1671753951163694093gmail-T-I m_-1671753951163694093gmail-J-J5-Ji m_-1671753951163694093gmail-T-I-Js-IF m_-1671753951163694093gmail-aaq m_-1671753951163694093gmail-T-I-ax7 m_-1671753951163694093gmail-L3" style="display:inline-block;font-size:11.0px;font-weight:bold;text-align:center;white-space:nowrap;margin-right:0.0px;height:27.0px;line-height:27.0px;min-width:32.0px;outline:0.0px;padding:0.0px 8.0px;background-color:rgb(245,245,245);color:rgb(68,68,68)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><img alt="" class="m_-1671753951163694093gmail-hB m_-1671753951163694093gmail-T-I-J3" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style="height:21.0px;vertical-align:middle;width:21.0px"></span></div>
<div class="m_-1671753951163694093gmail-T-I m_-1671753951163694093gmail-J-J5-Ji m_-1671753951163694093gmail-T-I-Js-Gs m_-1671753951163694093gmail-aap m_-1671753951163694093gmail-T-I-awG m_-1671753951163694093gmail-T-I-ax7 m_-1671753951163694093gmail-L3" id="m_-1671753951163694093gmail-:px" style="display:inline-block;font-size:11.0px;font-weight:bold;text-align:center;white-space:nowrap;margin-right:0.0px;height:27.0px;line-height:27.0px;min-width:21.0px;outline:0.0px;padding:0.0px;background-color:rgb(245,245,245);color:rgb(68,68,68)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><img alt="" class="m_-1671753951163694093gmail-hA m_-1671753951163694093gmail-T-I-J3" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style="height:21.0px;width:21.0px;vertical-align:middle"></span></div>
</td>
</tr>
<tr class="m_-1671753951163694093gmail-acZ m_-1671753951163694093gmail-xD" style="height:16.0px">
<td colspan="3" style="font-family:arial,sans-serif;margin:0.0px">
<table class="m_-1671753951163694093gmail-cf m_-1671753951163694093gmail-adz" style="border-collapse:collapse;table-layout:fixed;white-space:nowrap;width:434.667px" cellpadding="0">
<tbody>
<tr>
<td class="m_-1671753951163694093gmail-ady" style="font-family:arial,sans-serif;margin:0.0px;overflow:hidden;white-space:nowrap">
<div class="m_-1671753951163694093gmail-iw m_-1671753951163694093gmail-ajw" style="overflow:hidden;white-space:nowrap;max-width:92.0%;display:inline-block"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><span class="m_-1671753951163694093gmail-hb" style="vertical-align:top;color:rgb(119,119,119)">to<span> </span><span class="m_-1671753951163694093gmail-g2">Hong</span>,<span> </span><span class="m_-1671753951163694093gmail-g2">mumps-dev</span></span></span></div>
<div class="m_-1671753951163694093gmail-ajy" style="display:inline-block;margin-left:5.0px;vertical-align:top"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><img alt="" class="m_-1671753951163694093gmail-ajz" id="m_-1671753951163694093gmail-:pw" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style="background:url() -60.0px -100.0px no-repeat;padding:0.0px 0.0px 1.0px;vertical-align:bottom;height:12.0px;width:12.0px"></span></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div id="m_-1671753951163694093gmail-:pi" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:medium;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255)">
<div class="m_-1671753951163694093gmail-qQVYZb"> </div>
<div class="m_-1671753951163694093gmail-utdU2e"> </div>
<div class="m_-1671753951163694093gmail-btm"> </div>
</div>
<div class="m_-1671753951163694093gmail-" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:medium;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255)">
<div class="m_-1671753951163694093gmail-aHl"> </div>
<div class="m_-1671753951163694093gmail-ajV" id="m_-1671753951163694093gmail-:pv" style="outline:none;padding:5.0px 0.0px;width:22.0px;margin:0.0px">
<div class="m_-1671753951163694093gmail-ajR" id="m_-1671753951163694093gmail-:qe" style="background-color:rgb(241,241,241);border:1.0px solid rgb(221,221,221);clear:both;line-height:6.0px;outline:none;width:20.0px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline"><img class="m_-1671753951163694093gmail-ajT" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif" style="background:url() no-repeat;height:8.0px;width:20.0px"></span></div>
</div>
<div class="m_-1671753951163694093gmail-ii m_-1671753951163694093gmail-gt m_-1671753951163694093gmail-adP" id="m_-1671753951163694093gmail-:pk" style="font-size:12.8px;direction:ltr;margin:5.0px 15.0px 0.0px 0.0px;padding-bottom:5.0px">
<div class="m_-1671753951163694093gmail-a3s m_-1671753951163694093gmail-aXjCH m_-1671753951163694093gmail-m163bad8b399eea70" id="m_-1671753951163694093gmail-:pj" style="overflow:hidden"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0.0px;text-transform:none;white-space:normal;word-spacing:0.0px;background-color:rgb(255,255,255);float:none;display:inline">Hello,<br>
<br>
We do not support distributed sparse
multiple right-hand sides at<br>
the moment. From the feedback we have from
applications, the<br>
right-hand sides are often very sparse, and
having them distributed<br>
did not seem critical.<br>
<br>
Since we are specifying a distributed
right-hand sides feature at the<br>
moment, could you let us know in more detail
the need regarding<br>
distributed sparse right-hand side (e.g., do
all columns have the same<br>
nonzero structure in that case) or put us in
contact with the user who<br>
needs this?<br>
<br>
Thanks,<br>
Jean-Yves and Patrick</span></div>
</div>
</div>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 0.8ex;border-left:1.0px rgb(204,204,204) solid;padding-left:1.0ex">Thanks a lot guys,
very helpful.<br>
<span> <br>
<br>
<br>
<br>
I see MUMPS <a href="http://mumps.enseeiht.fr/" target="_blank">http://mumps.enseeiht.<wbr>fr/</a></span><br>
<br>
Sparse multiple right-hand side, distributed
solution; Exploitation of sparsity in the
right-hand sidesPETSc interface computes
mumps distributed solution as default (this is not
new) (ICNTL(21) = 1)<br>
<span> <br>
I will add support for Sparse multiple
right-hand side.<br>
<br>
Hong<br>
</span><br>
<span>On Thu, May 31, 2018 at 11:25 AM, Smith,
Barry F. <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>[mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsm<wbr>ith@mcs.anl.gov</a>]>
wrote:<br>
Hong,<br>
<br>
Can you see about adding support for
distributed right hand side?<br>
<br>
Thanks<br>
<br>
Barry</span><br>
<br>
<span>> On May 31, 2018, at 2:37 AM, Marius
Buerkle <<a href="mailto:mbuerkle@web.de" target="_blank">mbuerkle@web.de</a>[mailto:<a href="mailto:mbuerkle@web.de" target="_blank">mbuerk<wbr>le@web.de</a>]>
wrote:<br>
><br>
> The fix for MAT_NEW_NONZERO_LOCATIONS,
thanks again.<br>
><br>
> I have yet another question, sorry. The
recent version of MUMPS supports distributed and
sparse RHS is there any chance that this will be
supported in PETSc in the near future?<br>
><br>
> <br>
> <br>
></span><br>
<span>>> On May 30, 2018, at 6:55 PM, Marius
Buerkle <<a href="mailto:mbuerkle@web.de" target="_blank">mbuerkle@web.de</a>[mailto:<a href="mailto:mbuerkle@web.de" target="_blank">mbuerk<wbr>le@web.de</a>]>
wrote:<br>
>><br>
>> Thanks for the quick fix, I will test
it and report back.<br>
>> I have another maybe related question,
if MAT_NEW_NONZERO_LOCATIONS is true and let's
say 1 new nonzero position is created it does
not allocated 1 but several new nonzeros but
only use 1.<br>
><br>
> Correct<br>
><br>
>> I think that is normal, right?<br>
><br>
> Yes<br>
><br>
>> But, at least as far as I understand
the manual, a subsequent call of mat assemble
with<br>
>> MAT_FINAL_ASSEMBLY should compress out
the unused allocations and release the memory,
is this correct?<br>
><br>
> It "compresses it out" (by shifting all the
nonzero entries to the beginning of the internal
i, j, and a arrays), but does NOT release any
memory. Since the values are stored in one big
contiguous array (obtained with a single malloc)
it cannot just free part of the array, so the
extra locations just sit harmlessly at the end
if the array unused.<br>
><br>
>> If so, this did not work for me, even
after doing<br>
>> MAT_FINAL_ASSEMBLY the unused nonzero
allocations remain. Is this normal?<br>
><br>
> Yes,<br>
><br>
> Barry<br>
><br>
>><br>
>>><br>
>>> Fixed in the branch
barry/fix-mat-new-nonzero-<wbr>locations/maint<br>
>>><br>
>>> Once this passes testing it will go
into the maint branch and then the next patch
release but you can use it now in the branch
barry/fix-mat-new-nonzero-<wbr>locations/maint<br>
>>><br>
>>> Thanks for the report and
reproducible example<br>
>>><br>
>>> Barry<br>
>>><br>
>>></span>
<div>
<div class="m_-1671753951163694093h5">>>>> On May 29,
2018, at 7:51 PM, Marius Buerkle <<a href="mailto:mbuerkle@web.de" target="_blank">mbuerkle@web.de</a>[mailto:<a href="mailto:mbuerkle@web.de" target="_blank">mbuerk<wbr>le@web.de</a>]>
wrote:<br>
>>>><br>
>>>> Sure, I made a small
reproducer, it is Fortran though I hope that
is ok. If MAT_NEW_NONZERO_LOCATIONS is set to
false I get an error, if it is set to true the
new nonzero element is inserted, if
MAT_NEW_NONZERO_LOCATIONS is false and either
MAT_NEW_NONZERO_LOCATION_ERR or
MAT_NEW_NONZERO_ALLOCATION_ERR is set to false
afterwards then the new nonzero is also
created without an error, but if
MAT_NEW_NONZERO_LOCATIONS is set to false
after
MAT_NEW_NONZERO_LOCATION_ERR/<wbr>MAT_NEW_NONZERO_ALLOCATION_ERR
have been set to false I get an error again.<br>
>>>><br>
>>>><br>
>>>> program newnonzero<br>
>>>> #include
<petsc/finclude/petscmat.h><br>
>>>> use petscmat<br>
>>>> implicit none<br>
>>>><br>
>>>> Mat :: A<br>
>>>> PetscInt ::
dnnz,onnz,n,m,idxm(1),idxn(1),<wbr>nl1,nl2<br>
>>>> PetscScalar :: v(1)<br>
>>>> PetscReal ::
info(MAT_INFO_SIZE)<br>
>>>> PetscErrorCode :: ierr<br>
>>>><br>
>>>> integer :: nproc,iproc,i<br>
>>>><br>
>>>> call
PetscInitialize(PETSC_NULL_<wbr>CHARACTER,ierr)<br>
>>>><br>
>>>> call
MPI_COMM_SIZE(PETSC_COMM_<wbr>WORLD, nproc,ierr)<br>
>>>><br>
>>>> call MPI_Comm_rank(
PETSC_COMM_WORLD, iproc, ierr )<br>
>>>><br>
>>>> n=3<br>
>>>> m=n<br>
>>>> call
MatCreateAIJ(PETSC_COMM_WORLD,<wbr>PETSC_DECIDE,PETSC_DECIDE,n,m,<wbr>1,PETSC_NULL_INTEGER,0,PETSC_<wbr>NULL_INTEGER,A,ierr)<br>
>>>><br>
>>>><br>
>>>> call
MatGetOwnershipRange(A,nl1,<wbr>nl2,ierr)<br>
>>>> do i=nl1,nl2-1<br>
>>>> idxn(1)=i<br>
>>>> idxm(1)=i<br>
>>>> v(1)=1d0<br>
>>>> call
MatSetValues(A,1,idxn,1,idxm,
v,INSERT_VALUES,ierr)<br>
>>>> end do<br>
>>>> call
MatAssemblyBegin(A,MAT_FINAL_<wbr>ASSEMBLY,ierr)<br>
>>>> call
MatAssemblyEnd(A,MAT_FINAL_<wbr>ASSEMBLY,ierr)<br>
>>>><br>
>>>> call
MatSetOption(A,MAT_NEW_<wbr>NONZERO_LOCATIONS,PETSC_FALSE,<wbr>ierr)<br>
>>>> !~ call
MatSetOption(A,MAT_NEW_<wbr>NONZERO_LOCATION_ERR,PETSC_<wbr>FALSE,ierr)<br>
>>>> !~ call
MatSetOption(A,MAT_NEW_<wbr>NONZERO_ALLOCATION_ERR
,PETSC_FALSE,ierr)<br>
>>>> !~ call
MatSetOption(A,MAT_NEW_<wbr>NONZERO_LOCATIONS,PETSC_FALSE,<wbr>ierr)<br>
>>>><br>
>>>><br>
>>>> idxn(1)=0<br>
>>>> idxm(1)=n-1<br>
>>>> if
((idxn(1).ge.nl1).and.(idxn(1)<wbr>.le.nl2-1)) then<br>
>>>> v(1)=2d0<br>
>>>> call
MatSetValues(A,1,idxn,1,idxm,
v,INSERT_VALUES,ierr)<br>
>>>> end if<br>
>>>> call
MatAssemblyBegin(A,MAT_FINAL_<wbr>ASSEMBLY,ierr)<br>
>>>> call
MatAssemblyEnd(A,MAT_FINAL_<wbr>ASSEMBLY,ierr)<br>
>>>><br>
>>>> if
((idxn(1).ge.nl1).and.(idxn(1)<wbr>.le.nl2-1)) then<br>
>>>> v(1)=2d0<br>
>>>> call
MatGetValues(A,1,idxn,1,idxm, v,ierr)<br>
>>>> write(6,*) v<br>
>>>> end if<br>
>>>><br>
>>>> call PetscFinalize(ierr)<br>
>>>><br>
>>>> end program newnonzero<br>
>>>><br>
>>>><br>
>>>><br>
>>>> $ mpiexec.hydra -n 3 ./a.out<br>
>>>> [0]PETSC ERROR:
--------------------- Error Message
------------------------------<wbr>------------------------------<wbr>--<br>
>>>> [0]PETSC ERROR: Argument out
of range<br>
>>>> [0]PETSC ERROR: Inserting a
new nonzero at global row/column (0, 2) into
matrix</div>
</div>
>>>> [0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html%5Bhttp://www.mcs.anl.gov/petsc/documentation/faq.html%5D" target="_blank">http://www.mcs.anl.gov/petsc/<wbr>documentation/faq.html[http://<wbr>www.mcs.anl.gov/petsc/<wbr>documentation/faq.html]</a>
for trouble shooting.<br>
<span class="m_-1671753951163694093im m_-1671753951163694093HOEnZb">>>>> [0]PETSC
ERROR: Petsc Release Version 3.9.2, May, 20,
2018<br>
>>>> [0]PETSC ERROR: ./a.out on a
named tono-hpc1 by marius Wed May 30 09:42:40
2018<br>
>>>> [0]PETSC ERROR: Configure
options --prefix=/home/marius/prog/<wbr>petsc/3.9.2
--download-elemental=yes --download-metis=yes
--download-parmetis=yes --download-mumps=yes
--with-scalapack-lib="/home/<wbr>marius/intel/compilers_and_<wbr>libraries_2018.2.199/linux/<wbr>mkl/lib/intel64/libmkl_<wbr>scalapack_lp64.a
-Wl,--start-group
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>intel_lp64.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>sequential.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>core.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>blacs_intelmpi_lp64.a
-Wl,--end-group -lpthread -lm -ldl"
--FC=mpiifort --CC=mpicc --CXX=mpicxx
--with-scalar-type=complex --with-mpi-dir=
--with-blaslapack-lib="/home/<wbr>marius/intel/compilers_and_<wbr>libraries_2018.2.199/linux/<wbr>mkl/lib/intel64/libmkl_<wbr>scalapack_lp64.a
-Wl,--start-group
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>intel_lp64.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>sequential.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>core.a
/home/marius/intel/compilers_<wbr>and_libraries_2018.2.199/<wbr>linux/mkl/lib/intel64/libmkl_<wbr>blacs_intelmpi_lp64.a
-Wl,--end-group -lpthread -lm -ldl"
--with-cxx-dialect=C++11
--download-superlu_dist=yes
--download-ptscotch=yes --with-x
--with-debugging=1 --download-superlu=yes
--with-mkl_cpardiso=1 --with-mkl_pardiso=1
--with-scalapack=1<br>
>>>> [0]PETSC ERROR: #1
MatSetValues_MPIAIJ() line 607 in
/home/marius/prog/petsc/petsc-<wbr>3.9.2/src/mat/impls/aij/mpi/<wbr>mpiaij.c<br>
>>>> [0]PETSC ERROR: #2
MatSetValues() line 1312 in
/home/marius/prog/petsc/petsc-<wbr>3.9.2/src/mat/interface/<wbr>matrix.c<br>
>>>>
(0.000000000000000E+000,0.<wbr>000000000000000E+000)<br>
>>>><br>
>>>><br>
>>>><br>
>>>> Please send complete error
message; type of matrix used etc. Ideally code
that demonstrates the problem.<br>
>>>><br>
>>>> Barry<br>
>>>><br>
>>>></span>
<div class="m_-1671753951163694093HOEnZb">
<div class="m_-1671753951163694093h5">>>>>> On May 29,
2018, at 3:31 AM, Marius Buerkle <<a href="mailto:mbuerkle@web.de" target="_blank">mbuerkle@web.de</a>[mailto:<a href="mailto:mbuerkle@web.de" target="_blank">mbuerk<wbr>le@web.de</a>]>
wrote:<br>
>>>>><br>
>>>>><br>
>>>>> Hi,<br>
>>>>><br>
>>>>> I tried to set
MAT_NEW_NONZERO_LOCATIONS to false, as far as
I understood MatSetValues should simply ignore
entries which would give rise to new nonzero
values not creating a new entry and not cause
an error, but I get "[1]PETSC ERROR: Inserting
a new nonzero at global row/column". Is this
option supposed to work or not?<br>
>>>><br>
>>><br>
>>><br>
> <br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</blockquote>
<p><br>
</p>
</div>
</blockquote></div><br></div></div>