<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Sorry, everyone, for how long it took me to have time to get back to this. I tried the change I suggested in my previous message, but configure fails with<br>
<br>
<tt>*******************************************************************************</tt><tt><br>
</tt><tt>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):</tt><tt><br>
</tt><tt>-------------------------------------------------------------------------------</tt><tt><br>
</tt><tt>Did not find package MKL_SPARSE_OPTIMIZE needed by mkl_sparse_sp2m.</tt><tt><br>
</tt><tt>Enable the package using --with-mkl_sparse_optimize</tt><tt><br>
</tt><tt>*******************************************************************************</tt><br>
<br>
Does this happen because I have specified that this is a "look for by default" package? What I'd like to happen is that this package be looked for my default, in fact, but if MKL_SPARSE_OPTIMIZE is not present or disabled, then I'd like the test for mkl_sparse_sp2m
 to fail gracefully and configure to continue. That is: I don't want the fact that I am looking for this package automatically to imply that it HAS to be there. Is there any easy way to get this behavior?<br>
<br>
--Richard<br>
<br>
<div class="moz-cite-prefix">On 11/27/18 2:15 PM, Smith, Barry F. wrote:<br>
</div>
<blockquote type="cite" cite="mid:A1B704BD-C9D0-4F5E-838C-E2756DC7E9DF@anl.gov">
<pre wrap="">

</pre>
<blockquote type="cite">
<pre wrap="">On Nov 26, 2018, at 6:12 PM, Mills, Richard Tran via petsc-dev <a class="moz-txt-link-rfc2396E" href="mailto:petsc-dev@mcs.anl.gov"><petsc-dev@mcs.anl.gov></a> wrote:

Hi Stefano,

Apologies for the slow reply; I was out for the US Thanksgiving Holiday.

You've found an error in the logic for the MKL configure tests: Your MKL does indeed have mkl_sparse_sp2m(), but since this depends on having mkl_sparse_optimize() and you have specified '--with-mkl_sparse_optimize=0', PETSC_HAVE_MKL_SPARSE_SP2M either ought to not be defined, or in my AIJMKL code I should only enable the SP2M code if PETSC_HAVE_MKL_SPARSE_OPTIMIZE is defined. I think I like the former option better. For those more familiar with BuildSystem than I am, I think I can do this by putting the following in setupDependencies() in mkl_sparse_sp2m.py: 

    self.mkl_sparse_optimize  = framework.require('config.packages.mkl_sparse_optimize', self)
    self.deps                           = [self.blasLapack,self.mkl_sparse_optimize]
</pre>
</blockquote>
<pre wrap="">
    Looks ok to me. Make a pull request with Satish as a reviewer.

   Barry

</pre>
<blockquote type="cite">
<pre wrap="">
Is that all that is required?

--Richard

On 11/21/18 10:59 PM, Stefano Zampini wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Richard,

I just noticed that PETSc master does not build with the options

    '--with-mkl_pardiso-dir=/soft/com/packages/intel/18/u3/mkl',
    '--with-mkl_sparse_optimize=0',

This is on frog at MCS, but it will be the same on other machines as the macros configuration 

PETSC_HAVE_MKL_SPARSE_OPTIMIZE not defined
PETSC_HAVE_MKL_SPARSE_SP2M defined

does not seem to be supported.

/nfs2/szampini/src/petsc/src/mat/impls/aij/seq/aijmkl/aijmkl.c(797): error: struct "<unnamed>" has no field "csrA"
    csrA = a->csrA;

Could you please take a look? Why is the mkl_sparse_sp2m package flagged as lookforbydefault in the configure scripts?

Thanks
-- 
Stefano
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>