Are you destroying the matrix created by MatMatMult()? From the webpage:<br>
<h3><font color="#cc3333">Notes</font></h3>

C will be created and must be destroyed by the user with <a href="http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatDestroy.html#MatDestroy">MatDestroy</a>().
Unless scall is MAT_REUSE_MATRIX
<p><br>
Thanks,<br>
</p>
<p>&nbsp;&nbsp; Matt<br>
</p>
<br><div><span class="gmail_quote">On 5/9/06, <b class="gmail_sendername">Jordi Marcé Nogué</b> &lt;<a href="mailto:jordi.marce@upc.edu">jordi.marce@upc.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I find my problem with the memory. Using&nbsp;&nbsp;PetscTrDump(PETSC_NULL) I've<br>cornered it and I've find the lines which generate it.<br><br>I've discovered that the functions like MatTranspose(), MatMatMult() or<br>
similar functions creates extra memory in my code and these don't destroy.<br><br>I explain:<br><br>I create my matrices -----&gt;&gt;&gt;&gt;&nbsp;&nbsp; 3000 b are created (for example)<br>I use MatMatMult ---------&gt;&gt;&gt;&gt;&nbsp;&nbsp; 2000 bytes are created (for example)
<br>I destroy my matrices ----&gt;&gt;&gt;&gt;&nbsp;&nbsp; 3000 b are destroyed.<br><br>How can I free the memory created in the function MaMatMult()?<br><br>The final result is that if I use this function in a iterative process I<br>
full the memory of the box. If I multiply the matrix in a own function,<br>I don't have this problem.<br><br><br>best regards,<br>jordi<br><br><br><br><br>En/na Satish Balay ha escrit:<br>&gt; If you don't get any output with -trdump - it could mean that all
<br>&gt; objects are getting properly destroyed. But the swap usage is a bit<br>&gt; unusual.<br>&gt;<br>&gt; You could try the option -trmalloc_log to see how memory is allocate<br>&gt; on the PETSc side. And also -log_summary to see the summary of memory
<br>&gt; usage.<br>&gt;<br>&gt; Also - is it possible you have malloc() calls in your side of the code<br>&gt; - that could be leaking memory?<br>&gt;<br>&gt; you could also comment out all MatSetOption() calls and see if it
<br>&gt; makes a difference.<br>&gt;<br>&gt; BTW: 2.2.0 is a very old version. You might want to upgrade to the<br>&gt; latest 2.3.1<br>&gt;<br>&gt; Satish<br>&gt;<br>&gt; On Mon, 8 May 2006, Jordi Marcé Nogué wrote:<br>&gt;
<br>&gt;<br>&gt;&gt;Thanks Barry,<br>&gt;&gt;<br>&gt;&gt;I'm using petsc 2.2.0. When I run my program ( &quot; ./myprogram -trdump &quot; or with<br>&gt;&gt;-trmalloc, -trinfo...) I don't obtain anything... in the screen the code doesn't
<br>&gt;&gt;print<br>&gt;&gt;anything.<br>&gt;&gt;<br>&gt;&gt;If I use (for example) &quot;./myprogram -start_on_debugger&quot;, in my screen apers gdb<br>&gt;&gt;<br>&gt;&gt;and runs good... and with another options like -log_trace petsc writes messages
<br>&gt;&gt;in<br>&gt;&gt;my screen. Would I have to activate something in my internal petsc code?<br>&gt;&gt;<br>&gt;&gt;best regards,<br>&gt;&gt;jordi<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;
<br>&gt;&gt;Missatge citat per Barry Smith &lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt;:<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;See<br>&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<a href="http://www-unix.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html">
http://www-unix.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html</a><br>&gt;&gt;<br>&gt;&gt;&gt;number 12<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;You can run for say a few iterations with the options<br>&gt;&gt;&gt;-malloc_debug -malloc_dump (in&nbsp;&nbsp;PETSc 
2.3.1. in early releases it had<br>&gt;&gt;&gt;different names). At PetscFinalize() PETSc will print all the memory<br>&gt;&gt;&gt;it has allocated that has not been freed and where it was allocated.<br>&gt;&gt;&gt;This can help determine what objects are not being freed.
<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;Barry<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Hi,<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;I use PETSc, and after 5000 (more or less) iteations in which i solve a<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;little<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;matrix<br>&gt;&gt;&gt;&gt;(30x30) my swap is totally used!!! I'm sure that when I create my matrices<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;I<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;destroy
<br>&gt;&gt;&gt;&gt;them. Could you help me about it? What happens? What thing I do bad?<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Mat K<br>&gt;&gt;&gt;&gt;MatCreateSeqAIJ(PETSC_COMM_SELF, dim, dim, 9 , PETSC_NULL, &amp;K);<br>
&gt;&gt;&gt;&gt;MatSetFromOptions(K);<br>&gt;&gt;&gt;&gt;MatSetOption(K, MAT_SYMMETRIC);<br>&gt;&gt;&gt;&gt;MatSetOption(K, MAT_ROW_ORIENTED);<br>&gt;&gt;&gt;&gt;MatSetOption(K, MAT_IGNORE_ZERO_ENTRIES);<br>&gt;&gt;&gt;&gt;MatSetOption(K, MAT_NEW_NONZERO_ALLOCATION_ERR);
<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;( I use KSP solve, created and destroyed)<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;MatDestroy(K);<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Thanks,<br>&gt;&gt;&gt;&gt;jordi
<br>&gt;&gt;&gt;&gt;-----------<br>&gt;&gt;&gt;&gt;Jordi Marcé-Nogué<br>&gt;&gt;&gt;&gt;Dept. Resistència de Materials i Estructures a l'Enginyeria<br>&gt;&gt;&gt;&gt;Universitat Politècnica de Catalunya (UPC)<br>&gt;&gt;&gt;&gt;
<br>&gt;&gt;&gt;&gt;Edifici T45 - despatx 137<br>&gt;&gt;&gt;&gt;ETSEIAT (Terrassa)<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;phone: +34 937 398 728<br>&gt;&gt;&gt;&gt;mail: <a href="mailto:jordi.marce@upc.edu">jordi.marce@upc.edu
</a><br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br><br><br>--<br>Jordi Marcé-Nogué<br>Dept. Resistència de Materials i Estructures a l'Enginyeria
<br>Universitat Politècnica de Catalunya (UPC)<br><br>Edifici T45 - despatx 137<br>ETSEIAT (Terrassa)<br><br>phone: +34 937 398 728<br>mail: <a href="mailto:jordi.marce@upc.edu">jordi.marce@upc.edu</a><br><br></blockquote>
</div><br><br clear="all"><br>-- <br>&quot;Failure has a thousand explanations. Success doesn't need one&quot; -- Sir Alec Guiness