[petsc-users] Is there a way of having PETSc compile hypre with provided intel/mkl?
Bastian Löhrer
bastian.loehrer at tu-dresden.de
Mon Jul 30 08:24:12 CDT 2018
On 30.07.2018 13:28, Matthew Knepley wrote:
> On Mon, Jul 30, 2018 at 5:48 AM Bastian Löhrer
> <bastian.loehrer at tu-dresden.de <mailto:bastian.loehrer at tu-dresden.de>>
> wrote:
>
> Dear PETSc users,
>
> im configuring PETSc to use an intel stack including intel/mkl:
>
> ./configure PETSC_ARCH=$PETSC_ARCH \
> --with-gnu-compilers=0 --with-vendor-compilers=intel \
> --with-large-file-io=1 \
> --CFLAGS="-L${I_MPI_ROOT}/intel64/lib
> -I${I_MPI_ROOT}/intel64/include -lmpi" \
> --CXXFLAGS="-L${I_MPI_ROOT}/intel64/lib
> -I${I_MPI_ROOT}/intel64/include -lmpi -lmpicxx" \
> --FFLAGS="-L${I_MPI_ROOT}/intel64/lib
> -I${I_MPI_ROOT}/intel64/include -lmpi" \
> --LDFLAGS="-L${I_MPI_ROOT}/intel64/lib
> -I${I_MPI_ROOT}/intel64/include -lmpi" \
> --with-blas-lapack-dir="${MKLROOT}/lib/intel64" \
> --download-hypre \
> --with-debugging=yes
>
> *
> two questions:*
>
> *
> 1)* the blas-lapack-dir option is not passed down to the
> compilation of hypre according to $PETSC_DIR/$PETSC_ARCH/conf/hypre
> *Is there a way of having PETSc compile hypre with my intel/mkl?*
>
>
> This should happen. Please send configure.log so we can see what went on.
My initial guess was that the file $PETSC_DIR/$PETSC_ARCH/conf/hypre
lists the parameters which are used for compiling hypre. As I said, this
file does not mention mkl anywhere.
I may be mistaken though, because having a second look I do realize that
the mkl library is mentioned in the configure log file in line 86661 ff.
(where hypre is being configured) and at the end of the log.
Here is my configure.log:
https://cloudstore.zih.tu-dresden.de/index.php/s/b6rT0WMAKEMsj8S/download
Here is that hypre file:
https://cloudstore.zih.tu-dresden.de/index.php/s/TSfXQ2pgDw5ALZm/download
Thanks,
Bastian
> *
> 2)* *Should I omit or include any option?* I have come across a
> few options in previous configuration calls used at my department
> which I have removed from my configuration call because
>
> a) I had the impression that they were of no additional use:
>
> * --with-cc=mpiicc --with-cxx=mpiicpc --with-fc=mpiifort
> --with-mpi=1
> * --with-pic, because --with-pic=1 is the default anyway
> since 2.3.1, is it not?
> (https://www.mcs.anl.gov/petsc/documentation/changes/231.html)
> * --with-mpiexec=mpirun
> * --with-mpi-compilers=1
> * --known-mpi-shared=1
> * --with-mpi-dir=...
> * COPTFLAGS="-g" CXXOPTFLAGS="-g" FOPTFLAGS="-g" because
> --with-debugging=yes adds them anyway
>
> Yes, getting rid of all these is fine.
>
> b) because I couldn't figure out what they were actually for:
>
> * --configModules=PETSc.Configure
> * --optionsModule=PETSc.compilerOptions
>
> Those are added automatically. These are hooks so that you can
> completely change the system without
> getting rid of the low-level tests.
>
> c) others:
>
> * --known-64-bit-blas-indices I guess it wouldn't hurt
> anyway so I guess I'll include this option the next time I
> configure petsc
> (http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscBLASInt.html)
>
> We have a bunch of -known-* options. They are used for any test that
> has to execute. Batch environments cannot,
> and thus you need to specify all of them. You do not need it unless
> you are using --with-batch.
Okay, fantastic, thank you!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180730/e3c2523c/attachment.html>
More information about the petsc-users
mailing list