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

Reply via email to