[petsc-users] Newbie Question - Really slow - PetscMemCpy

Barry Smith bsmith at mcs.anl.gov
Thu Apr 22 07:59:17 CDT 2010


On Apr 22, 2010, at 7:33 AM, Parker, Andrew (UK Filton) wrote:

> Hi,
>
> I'm new to these postings.  On very large cases, regardless of where  
> I stop the debugger it is always copying data.  I've put it into a  
> debugger because on smaller cases it runs fine, on larger it takes a  
> while (very long time) to get going.  The stack trace always gives  
> something like:
>
> memcpy
> PetscMemCpy
> MatSetValues_SeqAIJ

     It is using SeqAIJ matrices

> MatSetValues
> my own wrapper to add values to a location within the matrix.
>
> I'm using Seq_BAIJ.  My bets are that I've got the sparsity wrong,  
> or the preallocation wrong, but I'm not sure why.  I know this could  
> be anything, but has anybody got any thoughts, remember stopping the  
> debugger at random, regardless of the frequency always gives the  
> above....
>
> I set up the matrix like this
>
>   MatCreate(PETSC_COMM_SELF,&_storage);
>    
> MatSetSizes 
> (_storage,PETSC_DECIDE,PETSC_DECIDE,numVars*numLocs,numVars*numLocs);
>   MatSetFromOptions(_storage);
>    
> MatSeqBAIJSetPreallocation(_storage,numVars,PETSC_NULL,sparsityStart);

     Unless you use the argument -mat_type seqbaij this will use  
SeqAIJ while you preallocate SeqBAIJ.

>
> However, using this makes zero difference to the speed
>
>    MatCreateSeqBAIJ(PETSC_COMM_SELF,
>       numVars,
>       numVars*numLocs,
>       numVars*numLocs,
>       0,
>        sparsityStart,
>       &_storage);
>
> It is so slow that it has not even completed one cycle of the  
> solver....

     Your sparseityStart is wrong. Run with -info and grep the results  
for malloc and you'll see it is mallocing many times to get enough  
space.

    Barry

>
> Cheers again,
> Andy
>
> ********************************************************************
> This email and any attachments are confidential to the intended
> recipient and may also be privileged. If you are not the intended
> recipient please delete it from your system and notify the sender.
> You should not copy it or use it for any purpose nor disclose or
> distribute its contents to any other person.
> ********************************************************************
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100422/bcdd5115/attachment.htm>


More information about the petsc-users mailing list