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 >> >
