[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