[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