[Trilinos-Users] Help choosing a matrix format (CRS/VBR)

Roger Pawlowski rppawlo at sandia.gov
Mon Mar 21 07:41:29 MDT 2011


Hi Pat,

I have an example of using VBR for a finite element assembly in 
Phalanx.  It is not a very complex demonstration, but is a good starting 
point.  I was using it to look at performance a while back.  Look in the 
directory:

Trilinos/packages/phalanx/example/FEM_Nonlinear_VBR

The exact same example using Crs is in 
Trilinos/packages/phalanx/example/FEM_Nonlinear if you want to do some 
comparisons.

Roger


On 03/21/2011 08:41 AM, Heroux, Michael A wrote:
> Hi Pat,
>
> I think there are a couple of reasons people choose CrsMatrix over
> VbrMatrix.
>
> First is that it is simpler to work with CrsMatrix objects.  VbrMatrix adds
> another layer of data structures that many people don't want to bother with.
>
> Second, the Vbr matrix classes in Epetra are do not perform as well as I
> would like them to.  We chose adding a serial dense matrix abstraction to
> manage the block entries, which improves usability but makes it hard to get
> performance out of small block sizes.  This aspect should improve with
> Tpetra.
>
> As for advice, I think going with the VbrMatrix path is best for new
> development, especially on modern and emerging architectures.  VbrMatrix
> gives us the opportunity to exploit a source of data regularity that is
> going to be increasingly important.
>
> As for examples, I know we have them, but other might be able to point you
> to real code that uses VbrMatrix, from which you can get a good starting
> point.
>
> Mike
>
>
> On 3/20/11 11:19 PM, "Pat Notz"<patnotz at gmail.com>  wrote:
>
>    
>> Hi,
>>
>> I'm very new to developing against Trilinos. I started out by watching
>> Mike's day-1 intro talks from TUG2010 and reading the Epetra tutorial
>> from the didasko project. In Mike's presentation, he mostly discusses
>> Epetra_CrsMatrix but mentions the Epetra_VbrMatrix and the FE versions
>> of those matrices. In particular, the FEVbrMatrix sounds appropriate
>> because I have multiple unknowns per mesh point and I'm doing a
>> distributed FEM assembly.
>>
>> I'm looking for example code that uses either VbrMatrix or FEVbrMatrix
>> but it seems most people prefer CrsMatrix. Even the FEI package
>> appears to use CrsMatrix and so does the Albany project, which is a
>> multivariate FEM code.
>>
>> I'm curious what motivates the choice of CrsMatrix for general FEM
>> codes (if anyone here knows).
>>
>> Thanks ~ Pat
>>
>> _______________________________________________
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
>> http://software.sandia.gov/mailman/listinfo/trilinos-users
>>
>>      
>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>    



More information about the Trilinos-Users mailing list