[petsc-dev] Compilation with ESSL SMP

Satish Balay balay at mcs.anl.gov
Tue Feb 21 09:41:23 CST 2017


For one the option to use is --with-blaslapack-lib [not --with-blas-lapack-lib]

And you need to use the following notation: (as mentioned previously)

--with-blaslapack-lib="-lessl -llapack -lessl" i.e

--with-blaslapack-lib="/bgsys/ibm_essl/prod/opt/ibmmath/essl/5.1/lib64/libesslsmpbg.a /bglocal/cn/pub/LAPACK/3.7.0/lib/liblapack.a /bglocal/cn/pub/LAPACK/3.7.0/lib/liblapack.a"

If you still have failures - please resend configure.log

Satish

On Tue, 21 Feb 2017, Pierre Jolivet wrote:

> On Mon, 20 Feb 2017 09:19:32 -0700, Jed Brown wrote:
> > Pierre Jolivet <Pierre.Jolivet at enseeiht.fr> writes:
> >
> > > Hello,
> > > It looks like the configure does not directly handle libesslsmpbg
> >
> > What did you pass to configure?  LIBS=-lesslsmpbg or similar?
> 
> Here are my options:
> --known-sdot-returns-double=0 --known-snrm2-returns-double=0
> --known-has-attribute-aligned=1 --CXXOPTFLAGS="-O3 -qnohot -qsimd=noauto
> -qsmp=omp:noauto" --COPTFLAGS="-O3 -qnohot -qsimd=noauto -qsmp=omp:noauto"
> --FOPTFLAGS="-O3 -qnohot -qsimd=noauto -qsmp=omp:noauto"
> --prefix=build/complex --known-bits-per-byte=8 --known-level1-dcache-assoc=0
> --known-level1-dcache-linesize=32 --known-level1-dcache-size=32768
> --known-memcmp-ok=1 --known-mpi-c-double-complex=1 --known-mpi-int64_t=1
> --known-mpi-long-double=1 --known-mpi-shared-libraries=0
> --known-sizeof-MPI_Comm=4 --known-sizeof-MPI_Fint=4 --known-sizeof-char=1
> --known-sizeof-double=8 --known-sizeof-float=4 --known-sizeof-int=4
> --known-sizeof-long-long=8 --known-sizeof-long=8 --known-sizeof-short=2
> --known-sizeof-size_t=8 --known-sizeof-void-p=8 --with-batch
> --with-blas-lapack-lib="[/bgsys/ibm_essl/prod/opt/ibmmath/essl/5.1/lib64/libesslsmpbg.a,/bglocal/cn/pub/LAPACK/3.7.0/lib/liblapack.a]"
> --with-scalapack-lib="[/bglocal/cn/pub/ScaLAPACK/2.0.2/lib/libscalapack.a]"
> --with-cc=mpixlc_r --with-clanguage=c --with-cpp="mpixlc_r -C -E"
> --with-cxx=mpixlcxx_r --with-debugging=0 --with-endian=big
> --with-fc=mpixlf90_r --with-fortran --with-make=gmake --with-mpi=yes
> --with-scalar-type=complex --with-x=0
> --download-sowing=../externalpackages/sowing-1.1.23-p1.tar.gz
> --download-metis=../externalpackages/metis-5.1.0-p3.tar.gz
> --download-mumps=../externalpackages/MUMPS_5.0.2.tar.gz
> --download-parmetis=../externalpackages/parmetis-4.0.3-p3.tar.gz
> --download-ptscotch=../externalpackages/scotch_6.0.4-p1.tar.gz
> --download-pastix=../externalpackages/pastix_5.2.3.tar.bz2
> PETSC_ARCH=arch-linux2-c-opt
> 
> But once the configure stage is complete, the following lib is printed:
> BLAS/LAPACK: -lesslbg
> 
> Is it possible to force the use of libesslsmpbg? Do I need to force that
> through the LIB argument as Jed suggested?
> 
> Thanks for all the input.
> 
> > > instead of libesslbg. On the other hand, it handles both
> > > libmkl_intel_thread and libmkl_sequential.
> > > Is there a reason for such a limitation? (I'd like to have direct
> > > solvers linked with threaded BLAS).
> >
> > People do this by accident or without understanding the implications far
> > more often than they do it intentionally.
> 
> 
> 




More information about the petsc-dev mailing list