[petsc-users] Shell matrix MatCreateVecs

Jed Brown jed at jedbrown.org
Thu Aug 24 21:42:38 CDT 2017


"Jose E. Roman" <jroman at dsic.upv.es> writes:

>> El 24 ago 2017, a las 22:51, Greg Meyer <gregory.meyer at gmail.com> escribió:
>> 
>> Hi,
>> 
>> I have written a shell matrix for non-standard vectors (CUDA to be specific) that works great. MatMult and MatNorm perform as they should. However, when I try to use it in a SLEPc algorithm, it breaks because MatCreateVecs yields standard vectors even if I set "-vec_type cuda". Looking through the source etc. it seems that MatShellSetOperation can't be used to implement a new MatCreateVecs function (MATOP_CREATEVECS does not exist). Is there a way to change the type of vector that comes from MatCreateVecs for shell matrices?
>> 
>> Thanks in advance,
>> Greg
>
> It is MATOP_GET_VECS. If you implement this operation, most SLEPc functionality should work with CUDA.
>
> PETSc developers: shouldn't MATOP_GET_VECS be renamed to MATOP_CREATE_VECS ?

Yes, in their eagerness to rename interfaces, people often forget to
complete all parts of the job.  The MATOP interface has shown itself to
be high maintenance.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170824/c35bce7b/attachment.sig>


More information about the petsc-users mailing list