> On Jun 14, 2017, at 1:29 PM, Richard Tran Mills <[email protected]> wrote:
> 
> PETSc developers,
> 
> I have been working on an AIJMKL matrix class that enables use of MKL sparse 
> BLAS routines. I need to keep this from breaking the build when a user does 
> not have MKL. What should I check for? I see when I build on a machine where 
> I have specified that MKL be used for BLAS and LAPACK, in 
> $PETSC_ARCH/include/petscconf.h I see two relevant entries:
> 
> #define PETSC_HAVE_LIBMKL_SEQUENTIAL 1
> #define PETSC_HAVE_LIBMKL_CORE 1
> 
> I think it's the latter I want to check for -- I'm guessing that the former 
> is set only when "sequential" (i.e., non-threaded) has been set?
> 
> Actually, checking for the above will not be entirely adequate, because I 
> support the use of the sparse inspector-executor routines, which users with 
> an old version of MKL will not have. I need to add a check for this (probably 
> can just check for existence of mkl_sparse_optimize); can someone give me a 
> hint on where in the BuildSystem stuff I should be adding this?

   config/BuildSystem/config/packages/mkl_sparse_optimize.py You can basically 
copy mkl_cpardiso.py and use that as a template; 10 minutes work.

   Barry

> 
> Thanks,
> Richard

Reply via email to