[petsc-dev] configure issues with new MKL and --with-mkl_sparse_optimize=0

Matthew Knepley knepley at gmail.com
Mon Dec 3 19:43:20 CST 2018


On Mon, Dec 3, 2018 at 8:35 PM Mills, Richard Tran via petsc-dev <
petsc-dev at mcs.anl.gov> wrote:

> 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
>
>
> *******************************************************************************
>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for
> details):
>
> -------------------------------------------------------------------------------
> Did not find package MKL_SPARSE_OPTIMIZE needed by mkl_sparse_sp2m.
> Enable the package using --with-mkl_sparse_optimize
>
> *******************************************************************************
>
> 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?
>

Put it in the optional packages list. Then check explicitly that it was
found in the sp2m configure method.

  Thanks,

    Matt


> --Richard
>
> On 11/27/18 2:15 PM, Smith, Barry F. wrote:
>
> On Nov 26, 2018, at 6:12 PM, Mills, Richard Tran via petsc-dev <petsc-dev at mcs.anl.gov> <petsc-dev at mcs.anl.gov> 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]
>
>     Looks ok to me. Make a pull request with Satish as a reviewer.
>
>    Barry
>
>
> Is that all that is required?
>
> --Richard
>
> On 11/21/18 10:59 PM, Stefano Zampini wrote:
>
> 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
>
>
>

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20181203/bab64f3a/attachment.html>


More information about the petsc-dev mailing list