And yes, by applying the patch in the petscmat.h, everything works. Thanks for the help.
Regards, Kun Schlumberger-Private -----Original Message----- From: Balay, Satish <ba...@mcs.anl.gov> Sent: Tuesday, March 26, 2019 3:42 PM To: Kun Jiao <kj...@slb.com> Cc: petsc-users <petsc-users@mcs.anl.gov> Subject: Re: [petsc-users] [Ext] Re: error: identifier "MatCreateMPIAIJMKL" is undefined in 3.10.4 Please apply the patch I sent earlier and retry. Satish On Tue, 26 Mar 2019, Kun Jiao via petsc-users 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 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/softwa > re/intel/compilers_and_libraries_2019.2.187/linux/mpi/intel64/include > --with-mpi-lib="-L/wgdisk/hy3300/source_code_dev/imaging/kjiao/softwar > e/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/intel6 > 4 -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/s > oftware/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/so > ftware/intel/compilers_and_libraries_2019.2.187/linux/mkl > --with-mkl_sparse=1 > --with-mkl_sparse-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/sof > tware/intel/compilers_and_libraries_2019.2.187/linux/mkl > --with-mkl_cpardiso=1 > --with-mkl_cpardiso-dir=/wgdisk/hy3300/source_code_dev/imaging/kjiao/s > oftware/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/kjia > o/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 <ba...@mcs.anl.gov> > Sent: Tuesday, March 26, 2019 10:19 AM > To: Kun Jiao <kj...@slb.com> > Cc: Mark Adams <mfad...@lbl.gov>; petsc-users@mcs.anl.gov > Subject: Re: [petsc-users] [Ext] Re: error: identifier > "MatCreateMPIAIJMKL" is undefined in 3.10.4 > > >>>>>>> > balay@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@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@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,cons > +t PetscInt[],Mat*); PETSC_EXTERN PetscErrorCode > +MatCreateMPIAIJMKL(MPI_Comm,PetscInt,PetscInt,PetscInt,PetscInt,Petsc > +In 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@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.c > > c > > (code 2) > > > > Thanks. > > > > > > From: Mark Adams <mfad...@lbl.gov> > > Sent: Tuesday, March 26, 2019 9:22 AM > > To: Kun Jiao <kj...@slb.com> > > Cc: petsc-users@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 > > <kj...@slb.com<mailto:kj...@slb.com>> wrote: > > It is compiling error, error message is: > > > > error: identifier "MatCreateMPIAIJMKL" is undefined. > > > > > > > > > > > > From: Mark Adams <mfad...@lbl.gov<mailto:mfad...@lbl.gov>> > > Sent: Tuesday, March 26, 2019 6:48 AM > > To: Kun Jiao <kj...@slb.com<mailto:kj...@slb.com>> > > Cc: petsc-users@mcs.anl.gov<mailto:petsc-users@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@mcs.anl.gov<mailto:petsc-users@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 > > >