<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hello,<br><br>Wheather I use<br><br>&nbsp; ierr = MatCreate(PETSC_COMM_WORLD,&amp;L);CHKERRQ(ierr);<br>&nbsp; ierr = MatSetSizes(L,PETSC_DECIDE,PETSC_DECIDE,n,n);CHKERRQ(ierr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MatSeqAIJSetPreallocation(L,PETSC_NULL,nnz);<br>&nbsp; ierr = MatSetFromOptions(L);CHKERRQ(ierr);<br><br>or<br><br>&nbsp; <br>&nbsp; ierr = MatCreateSeqAIJ(PETSC_COMM_WORLD,n,n,PETSC_DEFAULT,nnz,&amp;L);CHKERRQ(ierr);<br>&nbsp; ierr = MatSetFromOptions(L);CHKERRQ(ierr);<br>&nbsp;<br>Gives me <br><br>&nbsp;&nbsp; Number of mallocs during MatSetValues() is&nbsp; X <br><br>On matrix assembly, where X is positive<br>Is this indicating the preallocation or should it be zero and I'm missing something?<br><br>Moreover, using MatCreateSeqAIJ lowers the performance of MatSetValues<br><br>Is my code
 improper?<br><br>Regards <br>BartÅ‚omiej Wach<br></td></tr></table>