FreeFem / FreeFem-sources

FreeFEM source code
https://freefem.org/
Other
796 stars 193 forks source link

Problem with complex Mumps (in v4) #72

Closed tomathew closed 5 years ago

tomathew commented 5 years ago

Hello, I am trying FreeFEM++v4 on ubuntu 18.04. There was a problem while compiling PETSc-complex (more specifically in MUMPS), but on configuring with PETSc available on my PC for v3.62 or modifying the Makefile for the ff-complex section with "--download-mumps" flag, everything was successfully compiled.

On trying the example++-ffddm, two problems fails (I guess, they involve complex algebra.) I am working on electromagnetic scattering problems, it would be great if somebody can help me fix this issue. on make check in example++-ffddm:

make  check-TESTS
make[1]: Entering directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/examples++-ffddm'
make[2]: Entering directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/examples++-ffddm'
PASS: Maxwell-3d-simple.edp
XFAIL: Maxwell_Cobracavity.edp
PASS: diffusion-3d-simple.edp
PASS: diffusion-3d-minimal-ddm.edp
PASS: Helmholtz-2d-simple.edp
PASS: diffusion-3d-minimal-direct.edp
PASS: elasticity-3d-simple.edp
PASS: elasticity-3d-thirdlevelgeneo.edp
PASS: Richards-2d.edp
PASS: natural_convection.edp
PASS: Helmholtz-3d-simple.edp
PASS: diffusion-2d-thirdlevelgeneo.edp
PASS: natural_convection_3D_obstacle.edp
XFAIL: Helmholtz-2d-HPDDM-BGMRES.edp
============================================================================
Testsuite summary for FreeFem++ 4.0
============================================================================
# TOTAL: 14
# PASS:  12
# SKIP:  0
# XFAIL: 2
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[2]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/examples++-ffddm'
make[1]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/examples++-ffddm'

more specifically for CobraCavity:

ORAS TWO-LEVEL + INEXACT COARSE SOLVE :
[M] Coarse space dimension: 23221
timings - building E : 8.26136 s
  ** Instance Error 1 in ZMUMPS_F77           1
application called MPI_Abort(MPI_COMM_WORLD, -99) - process 17

Thanks in advance

sgarnotel commented 5 years ago

Could you provide the PETSc compilation error output ?

tomathew commented 5 years ago
make[4]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
make[3]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
Now to install the library do:
make SLEPC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1 PETSC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/petsc-3.10.3 install
=========================================
make[2]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
touch slepc-3.10.1/tag-make-real
export PETSC_DIR=/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real ; \
export SLEPC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1 ; \
export PETSC_ARCH=ff-real; \
cd slepc-3.10.1 &&    sudo -E make install
make[2]: Entering directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
*** Installing SLEPc at prefix location: /home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real  ***
====================================
Install complete.
Now to check if the libraries are working do (in current directory):
make SLEPC_DIR=/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real PETSC_DIR=/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real PETSC_ARCH=ff-real check
====================================
make[2]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
test -e /home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include/slepc.h
cd slepc-3.10.1 &&   make 'PETSC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/petsc-3.10.3' 'SLEPC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1' PETSC_ARCH=ff-real check
make[2]: Entering directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
Running test examples to verify correct installation
Using SLEPC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1, PETSC_DIR=/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/petsc-3.10.3 and PETSC_ARCH=ff-real
C/C++ example src/eps/examples/tests/test10 run successfully with 1 MPI process
C/C++ example src/eps/examples/tests/test10 run successfully with 2 MPI process
Fortran example src/eps/examples/tests/test7f run successfully with 1 MPI process
Completed test examples
make[2]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc/slepc-3.10.1'
touch slepc-3.10.1/tag-install-real
mkdir ../lib
mkdir: cannot create directory ‘../lib’: File exists
Makefile:294: recipe for target '../lib/WHERE.SLEPc' failed
make[1]: [../lib/WHERE.SLEPc] Error 1 (ignored)
test -e /home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include/slepc.h
echo 'slepc LD -Wl,-rpath,"/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib" -L"/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib"   -lslepc' > ../lib/WHERE.SLEPc
echo 'slepc INCLUDE -I"/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include"'  >> ../lib/WHERE.SLEPc
cd petsc-3.10.3 &&  python2.7 ./configure \
    --prefix=''/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/complex'' \
    --with-debugging=no \
    COPTFLAGS='-O3 -march=native -mtune=native' \
    CXXOPTFLAGS='-O3 -march=native -mtune=native' \
    FOPTFLAGS='-O3 -march=native -mtune=native' \
  '--with-scalar-type=complex' \
    --with-ssl=0 ---with-x=0 \
     \
    --with-blas-lapack-lib='-llapack -lblas' \
    --with-scalapack-include=''  --with-scalapack-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lscalapack' \
    --with-metis-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-metis-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lmetis' \
    --with-ptscotch-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-ptscotch-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lptesmumps -lptscotchparmetis -lptscotch -lptscotcherr -lesmumps -lscotch -lscotcherr' \
    --with-suitesparse-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-suitesparse-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lumfpack -lklu -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig' \
    --with-mumps-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-mumps-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord' \
    --with-parmetis-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-parmetis-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lparmetis' \
    --with-fftw-include='/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'  --with-fftw-lib='-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib -lfftw3_mpi -lfftw3' \
    PETSC_ARCH=ff-complex
===============================================================================
             Configuring PETSc to compile on your system                       
===============================================================================
===============================================================================                                                                                                                                                              ***** WARNING: MAKEFLAGS (set to w -- SUDO=sudo) found in environment variables - ignoring                                                                                                                                              use ./configure MAKEFLAGS=$MAKEFLAGS if you really want to use that value ******                                                                                                                                                ===============================================================================                                                                                                                                                        TESTING: check from config.libraries(config/BuildSystem/config/libraries.py:160)                                                                                                                                                       *******************************************************************************
         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
-------------------------------------------------------------------------------
--with-mumps-lib=['-Wl,-rpath,/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib', '-L/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/lib', '-lcmumps', '-ldmumps', '-lsmumps', '-lzmumps', '-lmumps_common', '-lpord'] and 
--with-mumps-include=['/home/tomathew/Libraries/freefem/v4beta/ffbeta/ff-petsc/real/include'] did not work
*******************************************************************************

Makefile:151: recipe for target 'petsc-3.10.3/tag-conf-complex' failed                                                                                                                                                                 
make[1]: *** [petsc-3.10.3/tag-conf-complex] Error 1
make[1]: Leaving directory '/home/tomathew/Libraries/freefem/v4beta/FreeFem-sources/download/ff-petsc'
Makefile:252: recipe for target 'WHERE-all' failed
make: *** [WHERE-all] Error 2
MPenaR commented 5 years ago

I'm having the same problem when compiling petsc on Debian 9.8.

I followed the instructions that are in https://github.com/FreeFem/FreeFem-sources.git. I would also like to point out that there, before making petsc-slepc you do sed -i 's/--download-pastix //g' Makefile however i've looked into the Makefile before doing it and there is no "--download-pastix" anywhere.

Thank you in advance.

MPenaR commented 5 years ago

I have solved my problem (however I can't explain what part fixed it): What I did:

I know this does not solve the problem but hopefully it helps you understand it.

tomathew commented 5 years ago

Thank you and sorry, the problem that I have mentioned above regarding MUMPS not compiling in ff-complex was only specific to me. It was specifically due to a different mpich that I have installed for a PETSc version outside. Just that this information helps anybody in future. Thanks again

tomathew commented 5 years ago

Can you confirm every examples in example++-ffddm PASS the check ?

MPenaR commented 5 years ago

Unfortunately I can't, I was talking about the master branch where there is no example++-ffddm folder. It passed all the checks in every folder except for the PARDISO.edp which I think it is expected to fail.

What branch are you compiling?

tomathew commented 5 years ago

I was trying v4. I think it is the develop branch.

frederichecht commented 5 years ago

Good news. Best Regards,

Frédéric Hecht.


Laboratoire Jacques-Louis Lions, UPMC Sorbonne Université BC187, 4 Place Jussieu, 75252 PARIS cedex 05, France Campus Jussieu, Barre 15-25, 3 etage Bureau 307 Projet Alpines , Inria de Paris, 2 rue Simone Iff Voie DQ12 75012 Paris tel: +33 1 44274411, mob: +33 6 62198986, fax: +33 1 44277200 frederic.hecht@sorbonne-universite.fr https://www.ljll.math.upmc.fr/hecht software: FreeFem++ web site: http://www.freefem.org/ff++

Le 5 mars 2019 à 16:28, MPenaR notifications@github.com a écrit :

I have solved my problem (however I can't explain what part fixed it): What I did:

download all the packages listed in the old website http://www3.freefem.org/ by hand (apt-get...) follow the instructions from https://github.com/FreeFem/FreeFem-sources.git https://github.com/FreeFem/FreeFem-sources.git (without modifying the petsc-slepc Makefile). All the tests were passed except from PARDISO.edp which was XFAIL. I know this does not solve the problem but hopefully it helps you understand it.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FreeFem/FreeFem-sources/issues/72#issuecomment-469723267, or mute the thread https://github.com/notifications/unsubscribe-auth/AFb2jPoNsoKh-CGxzhQVknL28z8bkFSvks5vTo0HgaJpZM4a9oQ7.

tomathew commented 5 years ago

Thank you very much for the feedback in particular, ( and for all your support including FreeFEM++ days in general). But I think the issue is not resolved yet. 2 ffddm examples involving two-level methods in complex algebra are still failing for me.

sgarnotel commented 5 years ago

Some examples fail, it's «normal», don't worry about that, especially in the ffddm directory (new features)

PARDISO equally fails

frederichecht commented 5 years ago

Normal car le plugin PARDISO n'est pas compiler si tu n'a pas la mkl.

et faire une liste depend de lugin compile est dur a faire.

Le 12 mars 2019 à 13:32, Simon Garnotel notifications@github.com a écrit :

Some examples fail, it's «normal», don't worry about that, especially in the ffddm directory (new features)

PARDISO equally fails

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FreeFem/FreeFem-sources/issues/72#issuecomment-471981025, or mute the thread https://github.com/notifications/unsubscribe-auth/AFb2jL9degv6W-h0mESN7zxzAM4EY_CXks5vV55ggaJpZM4a9oQ7.