[Trilinos-Users] [EXTERNAL] integrate out-of-core matrix implementation with Trilinos

Lehoucq, Richard rblehou at sandia.gov
Tue Mar 17 15:00:22 MDT 2015


Hello Da,

Re-implementing Epetra or Tpetra would be the large part of porting Anasazi but there might be a simpler way. Anasazi has a multivec and matrix interface. An instantiation was done using epetra. If your primary interest is in eigensolvers, just implement the functionality needed. There are just over dozen routines needed. There are also a few BLAS/LAPACK routines accessed via teufos. The Anasazi TOMS paper provides some information.

A QR decomposition is computed orthomanger in Anasazi.

Thank you for your interest.

rich

-----------------------------------------------------------------
Richard B. Lehoucq                             rblehou at sandia.gov<mailto:rblehou at sandia.gov>
Sandia National Labs                           (505) 845-8929
PO Box 5800, ms 1320                           fax: (505) 845-7442
Albuquerque, NM 87185-1320                     Org: 1444
http://www.sandia.gov/~rblehou
-----------------------------------------------------------------

From: zhengda1936 at gmail.com [mailto:zhengda1936 at gmail.com] On Behalf Of Zheng Da
Sent: Tuesday, March 17, 2015 12:01 PM
To: trilinos-users at software.sandia.gov; Heroux, Michael A; Thornquist, Heidi K; Lehoucq, Richard
Cc: joshua vogelstein; Randal Burns; Disa Mhembere
Subject: [EXTERNAL] integrate out-of-core matrix implementation with Trilinos

Hello,

We are a team from Johns Hopkins University. We are implementing SSD-based matrix operations and especially interested in optimizing sparse matrix multiplication on a large SSD array. Our goal is to have matrix operations run at the speed comparable to the in-memory implementation as we did for graph analysis using SSDs (https://github.com/icoming/FlashGraph).

We hope to integrate our matrix implementation with Trilinos so our system will have an eigensolver and also be able to compute various matrix decomposition. It seems to me that all Trilinos packages reply on two packages (Epetra or Tpetra) for basic matrix operations. These two packages provide the perfect interface for out-of-core matrix implementation. So we plan to reimplement one of them with our SSD-based matrix/vector implementation.

Will reimplementing Epetra or Tpetra be sufficient to port Anasazi to our system? I also try to understand how much work will it be involved. Epetra has almost 67,000 lines of code. In my standard, it's a very large package. Could you tell me what classes in Epetra should be implemented in order to run Anasazi?

Another matrix decomposition we like to have is QR decomposition. I'm not sure what Trilinos package implements it.

Another question is about maintenance. Reimplementing Epetra or Tpetra will be a lot of work. If we do implement it, we also hope our implementation will work with Trilinos' future release. What are your suggestions of making our work more maintainable?

Thanks,
Da
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150317/c0f08919/attachment.html>


More information about the Trilinos-Users mailing list