Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2018-05-23 09:54:35

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 45

Compiling PETSc with MUMPS

It is known that (see viewtopic.php?id=23389, http://hitoridesign.com/wp2/2017/09/20/ … -16-04-2/) PETSc should be compiled with MUMPS, otherwise we may run into some compiling errors like

```
augmented_lagrangian_context_type.F90:(.text+0x599): undefined reference to `matmumpssetcntl_'
```

However when using the MUMPS that we have compiled ourselves for Code_Aster (which means 64-bit support (dev version), and OpenMP) via `--with-mumps-dir=` during the `configure`, PETSc won't recognize this MUMPS due to following errors obviously linked to OpenMP

```
undefined symbol: __kmpc_global_thread_num
```

So I wonder if it is recommended to compile PETSC with its own MUMPS, via `--download-mumps=yes`? This will compile according to (https hmm/ bitbucket.org/petsc/petsc/src/master/config/BuildSystem/config/packages/MUMPS.py) a 32-bit version of MUMPS and may induce confusions between these two versions of MUMPS installed.

Offline

#2 2018-08-07 05:07:36

linctus
Member
Registered: 2011-11-02
Posts: 4

Re: Compiling PETSc with MUMPS

Hi Tianyikillua,

I believe you have solved this problem since it works in your docker image. Your docker image works well, but now I am trying to build parallel CA13.6 with MUMPS, PETSc, and med-3.3.1. The main reason is med is 3.3.1 in Salome-Meca 2018. I rely on Salome-Meca because of it's AsterStudy 2018. Could you please give a tip on how to do this 'PTESc with MUMPS_mpi' thing?

Best regards,

Offline

#3 2018-08-08 20:43:08

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 45

Re: Compiling PETSc with MUMPS

Hi, thanks for the info. If you are still using the 32bit version of parmetis/scotch/mumps, just follow the lines 84 -- 119 of github.com/tianyikillua/code_aster_on_docker/blob/master/code_aster/Dockerfile

1. Just build parallel mumps as before
2. When build PETSc, add -with-mumps-dir=${PUBLIC}/mumps-${MUMPS_VER}_mpi \
                --with-metis-dir=${PUBLIC}/metis-${METIS_VER} \
                --with-parmetis-dir=${PUBLIC}/parmetis-${PARMETIS_VER} \
                --with-ptscotch-dir=${PUBLIC}/ptscotch-${SCOTCH_VER} \
                --LIBS="-lgomp" \

especially the -lgomp flag.

Good luck. I will take some time to update my Docker image to the 13.6 version, with MED 3.3.1.

Cheeeeeers,

Tianyi

Offline

Board footer