[petsc-users] [Ext] Re: error: identifier "MatCreateMPIAIJMKL" is undefined in 3.10.4

Mark Adams mfadams at lbl.gov
Tue Mar 26 15:37:53 CDT 2019


On Tue, Mar 26, 2019 at 3:00 PM Kun Jiao <KJiao at slb.com> wrote:

> Strange things, when I compile my code in the test dir in PETSC, it works.
> After I "make install" PETSC, and try to compile my code against the
> installed PETSC, it doesn't work any more.
>

I'm not sure I follow what you are doing exactly but look at the compile
lines (good and bad) and compare them. If one works and one does not then
they must be different.

Anyway, as Satish said this interface was not enabled in any version that
we see. (So we are puzzled that any version works.) You can wait for a fix
to get pushed but using the method that I showed you should work now.


>
> I guess this is what you means.
>
> Is there any way to reenable MatCreateMPIAIJMKL public interface?
>
> And, I am using intel MKL, here is my configure option:
>
> Configure Options: --configModules=PETSc.Configure
> --optionsModule=config.compilerOptions PETSC_ARCH=linux-gnu-intel
> --with-precision=single --with-cc=mpiicc --with-cxx=mpiicc
> --with-fc=mpiifort
> --with-mpi-include=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mpi/intel64/include
> --with-mpi-lib="-L/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel//compilers_and_libraries_2019.2.187/linux/mpi/intel64/lib
> -lmpifort -lmpi_ilp64"
> --with-blaslapack-lib="-L/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl/lib/intel64
> -Wl, --no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
> -lm -ldl"
> --with-scalapack-lib="-L/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl/lib/intel64
> -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64"
> --with-scalapack-include=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl/include
> --with-mkl_pardiso-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl
> --with-mkl_sparse=1
> --with-mkl_sparse-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl
> --with-mkl_cpardiso=1
> --with-mkl_cpardiso-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl
> --with-mkl_sparse_optimize=1
> --with-mkl_sparse_optimize-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl
> --with-mkl_sparse_sp2m=1
> --with-mkl_sparse_sp2m-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/intel/compilers_and_libraries_2019.2.187/linux/mkl
> --with-cmake=1
> --prefix=/wgdisk/hy3300/source_code_dev/imaging/kjiao/software/petsc_3.9.4
> --known-endian=big --with-debugging=0 --COPTFLAGS=" -Ofast -xHost"
> --CXXOPTFLAGS=" -Ofast -xHost" --FOPTFLAGS=" -Ofast -xHost" --with-x=0
> Working directory:
> /wgdisk/hy3300/source_code_dev/imaging/kjiao/petsc-3.10.4
>
>
>
> Schlumberger-Private
>
> -----Original Message-----
> From: Balay, Satish <balay at mcs.anl.gov>
> Sent: Tuesday, March 26, 2019 10:19 AM
> To: Kun Jiao <KJiao at slb.com>
> Cc: Mark Adams <mfadams at lbl.gov>; petsc-users at mcs.anl.gov
> Subject: Re: [petsc-users] [Ext] Re: error: identifier
> "MatCreateMPIAIJMKL" is undefined in 3.10.4
>
> >>>>>>>
> balay at sb /home/balay/petsc (maint=)
> $ git grep MatCreateMPIAIJMKL maint-3.8
> maint-3.8:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:   MatCreateMPIAIJMKL -
> Creates a sparse parallel matrix whose local
> maint-3.8:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:PetscErrorCode
> MatCreateMPIAIJMKL(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt M,PetscInt
> N,PetscInt d_nz,const PetscInt d_nnz[],PetscInt o_nz,const PetscInt
> o_nnz[],Mat *A)
> maint-3.8:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:.seealso:
> MatCreateMPIAIJMKL(), MATSEQAIJMKL, MATMPIAIJMKL
> maint-3.8:src/mat/impls/aij/seq/aijmkl/aijmkl.c:.seealso: MatCreate(),
> MatCreateMPIAIJMKL(), MatSetValues() balay at sb /home/balay/petsc (maint=)
> $ git grep MatCreateMPIAIJMKL maint
> maint:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:   MatCreateMPIAIJMKL -
> Creates a sparse parallel matrix whose local
> maint:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:PetscErrorCode
> MatCreateMPIAIJMKL(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt M,PetscInt
> N,PetscInt d_nz,const PetscInt d_nnz[],PetscInt o_nz,const PetscInt
> o_nnz[],Mat *A)
> maint:src/mat/impls/aij/mpi/aijmkl/mpiaijmkl.c:.seealso:
> MatCreateMPIAIJMKL(), MATSEQAIJMKL, MATMPIAIJMKL
> maint:src/mat/impls/aij/seq/aijmkl/aijmkl.c:.seealso: MatCreate(),
> MatCreateMPIAIJMKL(), MatSetValues() balay at sb /home/balay/petsc (maint=)
> $ <<<<<<<<<<<
>
> MatCreateMPIAIJMKL() exists in both petsc-3.8 and petsc-3.10. However the
> public interface is missing from both of these versions. So I'm surprised
> you don't get the same error with petsc-3.8
>
> Can you try the following change?
>
> diff --git a/include/petscmat.h b/include/petscmat.h index
> 1b8ac69377..c66f727994 100644
> --- a/include/petscmat.h
> +++ b/include/petscmat.h
> @@ -223,7 +223,8 @@ typedef enum
> {DIFFERENT_NONZERO_PATTERN,SUBSET_NONZERO_PATTERN,SAME_NONZERO_PATT
>
>  #if defined PETSC_HAVE_MKL_SPARSE
>  PETSC_EXTERN PetscErrorCode
> MatCreateBAIJMKL(MPI_Comm,PetscInt,PetscInt,PetscInt,PetscInt,PetscInt,PetscInt,const
> PetscInt[],PetscInt,const PetscInt[],Mat*); -PETSC_EXTERN PetscErrorCode
> MatCreateSeqBAIJMKL(MPI_Comm comm,PetscInt bs,PetscInt m,PetscInt
> n,PetscInt nz,const PetscInt nnz[],Mat *A);
> +PETSC_EXTERN PetscErrorCode
> +MatCreateSeqBAIJMKL(MPI_Comm,PetscInt,PetscInt,PetscInt,PetscInt,const
> +PetscInt[],Mat*); PETSC_EXTERN PetscErrorCode
> +MatCreateMPIAIJMKL(MPI_Comm,PetscInt,PetscInt,PetscInt,PetscInt,PetscIn
> +t,const PetscInt[],PetscInt,const PetscInt[],Mat*);
>  #endif
>
>  PETSC_EXTERN PetscErrorCode
> MatCreateSeqSELL(MPI_Comm,PetscInt,PetscInt,PetscInt,const PetscInt[],Mat*);
>
>
> Also note: - this routine is available only when PETSc is built with Intel
> MKL
>
> Satish
>
> On Tue, 26 Mar 2019, Kun Jiao via petsc-users wrote:
>
> > [kjiao at hyi0016 src/lsqr]% make
> > [ 50%] Building CXX object lsqr/CMakeFiles/p_lsqr.dir/lsqr.cc.o
> >
> /wgdisk/hy3300/source_code_dev/imaging/kjiao/src/git/src/lsqr/lsqr.cc(318):
> error: identifier "MatCreateMPIAIJMKL" is undefined
> >     ierr =
> MatCreateMPIAIJMKL(comm,m,n,M,N,maxnz,dialens,maxnz,offlens,&A);CHKERRQ(ierr);
> >            ^
> >
> >
> /wgdisk/hy3300/source_code_dev/imaging/kjiao/src/git/src/lsqr/lsqr.cc(578):
> error: identifier "MatCreateMPIAIJMKL" is undefined
> >     ierr =
> MatCreateMPIAIJMKL(comm,m,n,M,N,maxnz,dialens,maxnz,offlens,&A);CHKERRQ(ierr);
> >            ^
> >
> > compilation aborted for
> > /wgdisk/hy3300/source_code_dev/imaging/kjiao/src/git/src/lsqr/lsqr.cc
> > (code 2)
> >
> > Thanks.
> >
> >
> > From: Mark Adams <mfadams at lbl.gov>
> > Sent: Tuesday, March 26, 2019 9:22 AM
> > To: Kun Jiao <KJiao at slb.com>
> > Cc: petsc-users at mcs.anl.gov
> > Subject: Re: [Ext] Re: [petsc-users] error: identifier
> > "MatCreateMPIAIJMKL" is undefined in 3.10.4
> >
> > I assume the whole error message will have the line of code. Please send
> the whole error message and line of offending code if not included.
> >
> > On Tue, Mar 26, 2019 at 10:08 AM Kun Jiao <KJiao at slb.com<mailto:
> KJiao at slb.com>> wrote:
> > It is compiling error, error message is:
> >
> > error: identifier "MatCreateMPIAIJMKL" is undefined.
> >
> >
> >
> >
> >
> > From: Mark Adams <mfadams at lbl.gov<mailto:mfadams at lbl.gov>>
> > Sent: Tuesday, March 26, 2019 6:48 AM
> > To: Kun Jiao <KJiao at slb.com<mailto:KJiao at slb.com>>
> > Cc: petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>
> > Subject: [Ext] Re: [petsc-users] error: identifier
> > "MatCreateMPIAIJMKL" is undefined in 3.10.4
> >
> > Please send the output of the error (runtime, compile time, link
> > time?)
> >
> > On Mon, Mar 25, 2019 at 10:50 PM Kun Jiao via petsc-users <
> petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
> > Hi Petsc Experts,
> >
> > Is MatCreateMPIAIJMKL retired in 3.10.4?
> >
> > I got this error with my code which works fine in 3.8.3 version.
> >
> > Regards,
> > Kun
> >
> >
> >
> > Schlumberger-Private
> >
> >
> > Schlumberger-Private
> >
> >
> > Schlumberger-Private
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190326/0443ad6c/attachment-0001.html>


More information about the petsc-users mailing list