> On Jul 28, 2017, at 12:50 PM, Richard Tran Mills <rtmi...@anl.gov> 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?

   There is no general "rule"; generally any method that could result in a 
different nonzero pattern results in calls to the MatAssemblyEnd... but 
otherwise they likely do not call it. MatDiagonalScale() is a candidate. 

  Barry

> 
> --Richard

Reply via email to