On Fri, 28 Jul 2017 at 20:58, Dave May <[email protected]> wrote:

> Hi Richard,
>
> On Fri, 28 Jul 2017 at 19:51, Richard Tran Mills <[email protected]> wrote:
>
>> Folks,
>>
>> I've been debugging my rmills/add-aijmkl branch, and I found that one bug
>> I had was related to what happens when I am using the MKL sparse
>> inspector-executor routines inside an AIJMKL matrix and then MatScale is
>> called on the matrix. MatScale modifies the entries of the matrix, thereby
>> invalidating the internal representation that the MKL routines use.
>> Currently, I've set things up so that the MKL representation is only
>> updated in MatAssemblyEnd_SeqAIJMKL and MatDuplicate_SeqAIJMKL. Looks like
>> I also need a MatScale_SeqAIJMKL that will update the MKL representation
>> when needed. Are there other routines that may modify the matrix entries
>> without invoking MatAssemblyEnd?
>>
>
> I believe MatDiagonalSet and MatDiagonalScale fall into this category
>

MatAXPY may, or may not, call AssemblyEnd depending on the MatStructure
arg. If the non-zero pattern is the same AssembyEnd is not called, however
it will be called if the non-zero pattern SUBSET or DIFFERENT is chosen.



> Thanks,
>   Dave
>
>
>>
>> --Richard
>>
>

Reply via email to