On 30.07.2018 13:28, Matthew Knepley wrote:
On Mon, Jul 30, 2018 at 5:48 AM Bastian Löhrer
<bastian.loeh...@tu-dresden.de <mailto:bastian.loeh...@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!