Matthew Knepley <[email protected]> writes:

> On Tue, Oct 25, 2016 at 12:19 PM, Stefano Zampini <[email protected]
>> wrote:
>
>> I have a working conversion from HypreParCSR to PETSc MPIAIJ format.
>> I could add this code to PETSc, maybe in the contrib folder. Barry, what
>> do you think?
>>
>
> No, no one looks there. Add it to src/mat/utils and make an interface
> function like MatCreateFromHypreParCSR().

Note that mhyp.c contains code to convert AIJ matrices to ParCSR.  If we
were to create a MatHypreParCSR implementation, we could use those
functions for MatConvert_{Seq,MPI}AIJ_HypreParCSR and use your function
for the reverse.  That would be consistent with how external matrix
formats are normally represented and may enable some new capability to
mix PETSc and Hypre components in the future.  Here, I'm envisioning

  PetscErrorCode MatCreateHypreParCSR(hyper_ParCSRMatrix *A,Mat *B);

This way, if a user chooses -pc_type hypre, there would be no copies for
going through PETSc.  Similarly, if we implement
MatSetValues_HypreParCSR, a pure PETSc application could use Hypre
preconditioners with no copies.

Attachment: signature.asc
Description: PGP signature

Reply via email to