Your matrix is not correctly preallocated:<br><br><a href="http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#slow">http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#slow</a><br><br>  Matt<br><br><div class="gmail_quote">
On Sun, Sep 20, 2009 at 10:44 AM, Pierre-Yves Aquilanti <span dir="ltr">&lt;<a href="mailto:sperif@gmail.com">sperif@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br>
<br>
i&#39;m facing a very slow MatSetValues during the discretization of my mathematical problem when creating the matrix.<br>
My matrix is seven banded, come from the a discretization of an helmholtz problem using finite differences.<br>
<br>
In the 2D case, creating the matrix is really fast. But in 3D case it goes well for the first second loop processing and then it goes really really slow. Here is a small part of my code :<br>
<br>
<br>
ierr = DAGetCorners(*da, &amp;Istartx, &amp;Istarty, &amp;Istartz, &amp;Iendx, &amp;Iendy, &amp;Iendz);<br>
    CHKERRQ(ierr);<br>
<br>
        for (j = Istartz; j &lt; Istartz + Iendz; j++) {<br>
<br>
            for(k=Istarty; k &lt; Istarty+Iendy; k++){<br>
                for (i = Istartx; i &lt; Istartx + Iendx; i++) {<br>
<br>
<br>
                /*get values on an array, their coordinate too*/<br>
<br>
        MatSetValues(*B,1,ind_mat_x,value_count,ind_mat_y,val_mat_ligne,ADD_VALUES);<br>
        }<br>
}<br>
<br>
Did you encounter any slowness for MatSetValues function ?<br>
<br>
Thanks a lot<br>
<br>
Regards<br><font color="#888888">
<br>
<br>
PYA<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>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<br>