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?
--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
<[email protected]><mailto:[email protected]> 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