<div dir="ltr"><div dir="ltr">On Mon, Mar 4, 2019 at 8:03 AM Klaus Burkart via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-m_-4917026017344528421ydpa67452f6yahoo-style-wrap" style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px"><span>Hello,<br><br>I want to solve many symmetric linear systems one after another in parallel using boomerAMG + KSPCG  and need to make the matrix transfer more efficient. Matrices are symmetric in structure and values. boomerAMG + KSPCG work fine.</span></div></div></blockquote><div><br></div><div>Can you be more specific about where you want to save time? The best thing would be to send the output of -log_view and show us.</div><div>I ask because loading a matrix from memory  should be much faster than BAMG. Loading it from disk could possibly be slower, but</div><div>I do not think that BAMG handles a symmetric format, so you would load a symmetric matrix and convert to AIJ.</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </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 class="gmail-m_-4917026017344528421ydpa67452f6yahoo-style-wrap" style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px"><span style="font-family:Arial,Helvetica,sans-serif;font-size:small"> </span><span><br></span></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-m_-4917026017344528421ydpa67452f6yahoo-style-wrap" style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px"><span></span><div><span>So far I have been loading the entire matrices but I read in a paper, that it's sufficient to load the upper part only and tell petsc that the matrix is symmetric using MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE); Unfortunately all computations fail if I load only the upper values and use MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE);</span></div><div><span></span><br></div><div>The idea is:</div><div><br></div><div><span>    if (matrix_.symmetric())<br>    {<br>        MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE);<br></span><div><span>       //load only upper part of the matrix MatSetValues(...)<br></span></div><div><span></span><br></div><div>   }else //asymmetric matrix<br></div><div>           {</div><div>               //load the entire matrix <span><span>MatSetValues(...)</span></span><br></div><div>           }<br></div></div><span><br>Is it possible at all? <br><br>Klaus</span></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>