Why not just put the support in MatSeqAIJCUSPARSE ? No need for a new class.
Barry > On Sep 7, 2020, at 6:28 PM, Mark Adams <mfad...@lbl.gov> wrote: > > I am adding support for matrix assembly on the GPU. I made a new Mat class, > that is a "child" of MatSeqAIJCUSPARSE, but I am thinking that is the wrong > approach. > > I have added a Mat type struct object to MatSeqAIJCUSPARSE, that is on the > GPU, and override some methods like MatAssemblyEnd and MatDestroy, and > registered constructors for this new class. > > One thought is to add a MatCreateGPUMat_SeqAIJCUSPARES method that adds this > object, and then checking for that object in places where it is relevant. > > And/Or, I see some business about a "subclass" in MatSetType. I'm not sure > how that works, but maybe that is useful. > > Any thoughts would be appreciated, > Thanks, > Mark