Thanks Barry and Satish for your answers.
I installed the correct version of hypre. Also, I changed the paths to
short dos paths as Satish suggested. Now PETSc compiles without problems
and the tests are ok.
Regarding Satish notes:
I had to include -LIBS because otherwise the configure script stops
while testing blas-lapack with the following error:
===============================================================================
TESTING: checkLib from
config.packages.BlasLapack(config/BuildSystem/config/packages/BlasLapack.py:114)*******************************************************************************
UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log
for details):
-------------------------------------------------------------------------------
You set a value for --with-blaslapack-lib=<lib>, but
['-L/cygdrive/c/PROGRA~2/INTELS~1/COMPIL~1/windows/mkl/lib/intel64',
'mkl_intel_lp64.lib', 'mkl_core.lib', 'mkl_intel_thread.lib'] cannot be used
*******************************************************************************
Do I need to turn on the MKL sparse functionality? what is the
difference between MKL_SPARSE, MKL_SPARSE_OPTIMIZE and MKL_SPARSE_SP2M
in the configure options?
Why is better to use sequential MKL? Is it possible to use a hybrid MPI
- OpenMP approach? for example MPI for internode communication and
OpenMP for intranode computation? In that case would it be good to use
threaded MKL + MPI?
Thanks,
Hector
On 07/05/2018 08:54 PM, Satish Balay wrote:
A few additional notes:
On Thu, 5 Jul 2018, Satish Balay wrote:
Using configure Options: --prefix=/cygdrive/c/installed/petsc_git-intel-debug/ --PETSC_DIR=/cygdrive/c/sources/petsc
--PETSC_ARCH=windows-intel-debug --with-cc="win32fe cl" --with-fc="win32fe ifort"
--with-mpi-include="[/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mpi/intel64/include]"
--with-mpi-lib="[/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mpi/intel64/lib/release_mt/impi.lib]"
--with-openmp=1
I don't think this option does anything [on windows]
--with-parmetis-lib=/cygdrive/c/installed/parmetis/lib/parmetis.lib
--with-parmetis-include=/cygdrive/c/installed/parmetis/include
--with-metis-lib=/cygdrive/c/installed/parmetis/lib/metis.lib
--with-metis-include=/cygdrive/c/installed/parmetis/include
--with-zoltan-include=/cygdrive/c/installed/zoltan/include
--with-zoltan-lib=/cygdrive/c/installed/zoltan/lib/zoltan.lib
--with-hypre-include=/cygdrive/c/installed/hypre/include
--with-hypre-lib=/cygdrive/c/installed/hypre/lib/HYPRE.lib
--with-blaslapack-lib="[/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib,/cygdrive/c/Program
Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_core.lib,/cygdrive/c/Program
Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_thread.lib]"
--with-scalapack-include="/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/include"
--with-scalapack-lib="[/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_scalapack_lp64.lib,/cygdrive/c/Program
Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_blacs_intelmpi_lp64.lib]"
PETSc does not use scalapack or blacs. They are dependencies for MUMPS [which
petsc has an interface to]
--with-shared-libraries=0
-LIBS=""/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib" "/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_thread.lib" "/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64//mkl_core.lib" "/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_scalapack_lp64.lib" "/cygdrive/c/Program Files
(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_blacs_intelmpi_lp64.lib" libiomp5md.lib"
I'm not sure why you are having to respecify MKL via LIBS option.
Also with PETSc MPI usage - its best to use sequential MKL - and not threaded
MKL - for eg:
--with-blaslapack-lib='-L/cygdrive/c/PROGRA~2/INTELS~1/COMPIL~2/windows/mkl/lib/intel64
mkl_intel_lp64_dll.lib mkl_sequential_dll.lib mkl_core_dll.lib'
mhypre.c
C:\sources\petsc\src\mat\impls\hypre\mhypre.c(1453): warning C4002: too many
actual parameters for macro 'hypre_TFree'
You can switch to the compatible version of hypre - or fix revert the code
change..
https://bitbucket.org/petsc/petsc/commits/e6de09342ce9c4562cc062ff2c1bac4bd956bda0
Satish