[petsc-dev] [petsc-users] mkl-cpardiso configuration

Satish Balay balay at mcs.anl.gov
Sun Oct 6 21:30:30 CDT 2013


On Sun, 6 Oct 2013, Jose David Bermeol wrote:

> Well actually I should change the name of the file mkl.py to mkl_cpardiso.py. It doesn't pick up any blas/lapack library. 

Perhaps there is a misunderstanding here.

> > > -Wl,--start-group -L$(MKL_PATH)/lib/intel64/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lpthread -lm -liomp5


$ nm -Ao libmkl_intel_lp64.a |egrep "( pardiso_getenv_| dgeev_| ddot_)" |grep ' T '
libmkl_intel_lp64.a:_pardiso_getenv_lp64.o:0000000000000000 T pardiso_getenv_
libmkl_intel_lp64.a:_pardiso_getenv_lp64.o:0000000000000000 T pardiso_getenv__
libmkl_intel_lp64.a:_dgeev_lp64.o:0000000000000000 T dgeev_
libmkl_intel_lp64.a:_ddot_lp64.o:0000000000000000 T ddot_

Here -lmkl_intel_lp64 has pardiso, blas, lapack.

So when petsc blaslapack.py from petsc configure picks up something
else [other than mkl] for blaslapakck - that will be a conflict.

i.e if one links with '-lmkl_intel_lp64 -llapak -lblas' its a conflict.

So somehow petsc configure should avoid getting into this situation..

Satish

> So it would be save and convenient to have it as a separate package(just to keep things modular and simple). If in a near future the solver would need a blas/lapack library I would agree that the blaslapack.py should take care of the installation of the solver.  
> 
> ----- Original Message -----
> From: "Satish Balay" <balay at mcs.anl.gov>
> To: "Jose David Bermeol" <jbermeol at purdue.edu>
> Cc: "Barry Smith" <bsmith at mcs.anl.gov>, petsc-users at mcs.anl.gov, "For users of the development version of PETSc" <petsc-dev at mcs.anl.gov>
> Sent: Sunday, October 6, 2013 9:57:50 PM
> Subject: Re: [petsc-dev] [petsc-users] mkl-cpardiso configuration
> 
> If one specifies '--with-mkl=/foo/bar --download-f-blas-lapack' or
> just '--with-mlk=/foo/bar' where configure picks up /usr/lib/libblas.a
> etc - then things will break.
> 
> So somehow these two options should work together - and perhaps the
> way they can do is within blaslapack.py [and not a separate mkl.py]
> 
> Satish
> 
> On Sun, 6 Oct 2013, Jose David Bermeol wrote:
> 
> > Exactly
> > ----- Original Message -----
> > From: "Barry Smith" <bsmith at mcs.anl.gov>
> > To: "Matthew Knepley" <knepley at gmail.com>
> > Cc: "Jose David Bermeol" <jbermeol at purdue.edu>, petsc-users at mcs.anl.gov, "For users of the development version of PETSc" <petsc-dev at mcs.anl.gov>
> > Sent: Sunday, October 6, 2013 9:49:59 PM
> > Subject: Re: [petsc-dev] [petsc-users] mkl-cpardiso configuration
> > 
> > 
> >    Because he is using other stuff in mkl besides blas/lapack!
> > 
> > On Oct 6, 2013, at 8:43 PM, Matthew Knepley <knepley at gmail.com> wrote:
> > 
> > > On Sun, Oct 6, 2013 at 8:04 PM, Jose David Bermeol <jbermeol at purdue.edu> wrote:
> > > Hi, one question about how to configure a new package, intel people suggest to compile mkl-cpardiso using the following flags for the linker:
> > > 
> > > -Wl,--start-group -L$(MKL_PATH)/lib/intel64/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lpthread -lm -liomp5
> > > 
> > > Now I want to be able to do this just using the flag --with-mkl-dir=$(MKL_PATH) during Petsc configuration. I've been trying to modify my mkl.py file to achieve this, however your configuration system is a little bit complex, so if you code give some guidelines to achieve this or files to look how to do it would be great.
> > 
> >    Make a pull request with all your current stuff and we can look at how you've organized it and make suggestions. Otherwise it is too much email guess work with incomplete information.
> > 
> >    Barry
> > 
> > > 
> > > Is there a reason you do not want to use --with-blas-lapack-lib?
> > > 
> > >   Thanks,
> > > 
> > >     Matt
> > >  
> > > Thanks
> > > 
> > > 
> > > 
> > > -- 
> > > 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
> > 
> 




More information about the petsc-dev mailing list