Dear Kostas

Thanks. Yes, I would like to.
Are there any points when adding tests?

Is there a

2021年5月23日(日) 21:46 Konstantinos Poulios <[email protected]>:

> Dear Tetsuo,
>
> You can now test the code in the mpi-fixes branch. Would you like to help
> with a bit more extensive testing of MPI in GetFEM and maybe also with
> making some new unit tests for MPI?
>
> Best regards
> Kostas
>
> On Sun, May 23, 2021 at 7:29 AM Tetsuo Koyama <[email protected]>
> wrote:
>
>> Dear Kostas
>>
>> Thanks a lot. I will check the code.
>>
>> BR
>> Tetsuo
>>
>> 2021年5月23日(日) 10:34 Konstantinos Poulios <[email protected]>:
>>
>>> I think I have fixed it but need to test it a bit more and tidy it up.
>>> BR
>>> Kostas
>>>
>>> On Fri, May 21, 2021 at 8:42 AM Konstantinos Poulios <
>>> [email protected]> wrote:
>>>
>>>> oh sorry, my fault, I can reproduce the error now. I had forgotten that
>>>> I had to replace the linear term with a nonlinear one.
>>>>
>>>> BR
>>>> Kostas
>>>>
>>>> On Thu, May 20, 2021 at 7:42 AM Tetsuo Koyama <[email protected]>
>>>> wrote:
>>>>
>>>>> Sorry for lack of explanation.
>>>>>
>>>>> I  build getfem on ubuntu:20.04 and  using the configuration command
>>>>> " --with-pic --enable-paralevel=2"
>>>>>
>>>>> I am using...
>>>>> - automake
>>>>> - libtool
>>>>> - make
>>>>> - g++
>>>>> - libqd-dev
>>>>> - libqhull-dev
>>>>> - libmumps-dev
>>>>> - liblapack-dev
>>>>> - libopenblas-dev
>>>>> - libpython3-dev
>>>>> - gfortran
>>>>> - libmetis-dev
>>>>>
>>>>> I attach a Dockerfile and a Python file to reproduce.
>>>>> You can reproduce by the following command.
>>>>>
>>>>> $ sudo docker build -t demo_parallel_laplacian_nonlinear_term.py .
>>>>>
>>>>> Best Regards
>>>>> Tetsuo
>>>>>
>>>>> 2021年5月19日(水) 23:12 Konstantinos Poulios <[email protected]>:
>>>>>
>>>>>> I think the instructions page is correct. What distribution do you
>>>>>> build getfem on and what is your configuration command?
>>>>>> Best regards
>>>>>> Kostas
>>>>>>
>>>>>> On Wed, May 19, 2021 at 10:44 AM Tetsuo Koyama <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Dear Kostas
>>>>>>>
>>>>>>> This page (http://getfem.org/tutorial/install.html) says
>>>>>>> - Parallel MUMPS, METIS and MPI4PY packages if you want to use the
>>>>>>> MPI parallelized version of GetFEM.
>>>>>>>
>>>>>>> Is there a recommended way to install Parallel Parallel MUMPS, METIS
>>>>>>> and MPI4PY ?
>>>>>>> I could not find the information in the page.
>>>>>>>
>>>>>>> If you could give me any information I will add it to the following
>>>>>>> page.
>>>>>>> http://getfem.org/install/install_linux.html
>>>>>>>
>>>>>>> BR
>>>>>>> Tetsuo
>>>>>>>
>>>>>>> 2021年5月19日(水) 10:45 Tetsuo Koyama <[email protected]>:
>>>>>>>
>>>>>>>> Dear Kostast
>>>>>>>>
>>>>>>>> No I haven't. I am using libmumps-seq-dev of Ubuntu repository.
>>>>>>>> I will use parallel version of mumps again.
>>>>>>>>
>>>>>>>> BR
>>>>>>>> Tetsuo
>>>>>>>>
>>>>>>>> 2021年5月19日(水) 4:50 Konstantinos Poulios <[email protected]>:
>>>>>>>>
>>>>>>>>> Dear Tetsuo,
>>>>>>>>>
>>>>>>>>> Have you compiled GetFEM with the parallel version of mumps? In
>>>>>>>>> Ubuntu/Debian you must link to dmumps instead of dmumps_seq for 
>>>>>>>>> example.
>>>>>>>>>
>>>>>>>>> BR
>>>>>>>>> Kostast
>>>>>>>>>
>>>>>>>>> On Tue, May 18, 2021 at 2:09 PM Tetsuo Koyama <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Dear Kostas
>>>>>>>>>>
>>>>>>>>>> Thank you for your report.
>>>>>>>>>> I am happy that it runs well in your system.
>>>>>>>>>> I will organize the procedure that can reproduce this error.
>>>>>>>>>> Please wait.
>>>>>>>>>>
>>>>>>>>>> Best Regards Tetsuo
>>>>>>>>>>
>>>>>>>>>> 2021年5月18日(火) 18:10 Konstantinos Poulios <[email protected]
>>>>>>>>>> >:
>>>>>>>>>>
>>>>>>>>>>> Dear Tetsuo,
>>>>>>>>>>> I could not confirm this issue. On my system the example runs
>>>>>>>>>>> well both on 1 and 2 processes (it doesn't scale well though)
>>>>>>>>>>> BR
>>>>>>>>>>> Kostas
>>>>>>>>>>>
>>>>>>>>>>> [image: image.png]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sun, May 16, 2021 at 10:07 AM Tetsuo Koyama <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Dear Kostas
>>>>>>>>>>>>
>>>>>>>>>>>> I am looking inside the source code.
>>>>>>>>>>>> > if (generic_expressions.size()) {...}
>>>>>>>>>>>> Sorry it looks complex for me.
>>>>>>>>>>>>
>>>>>>>>>>>> FYI. I found that MPI process 1 and 2 is different in the
>>>>>>>>>>>> following line.
>>>>>>>>>>>> >    if (iter.finished(crit)) {
>>>>>>>>>>>> This is in the "Newton_with_step_control" function in
>>>>>>>>>>>> getfem_model_solvers.h.
>>>>>>>>>>>>
>>>>>>>>>>>> "crit" is calculated by rit = res / approx_eln and res and
>>>>>>>>>>>> approx_eln is ...
>>>>>>>>>>>>
>>>>>>>>>>>> $ mpirun -n 1 python demo_parallel_laplacian.py
>>>>>>>>>>>> res=1.31449e-11
>>>>>>>>>>>> approx_eln=6.10757
>>>>>>>>>>>> crit=2.15222e-12
>>>>>>>>>>>>
>>>>>>>>>>>> $ mpirun -n 2 python demo_parallel_laplacian.py
>>>>>>>>>>>> res=6.02926
>>>>>>>>>>>> approx_eln=12.2151
>>>>>>>>>>>> crit=0.493588
>>>>>>>>>>>>
>>>>>>>>>>>> res=0.135744
>>>>>>>>>>>> approx_eln=12.2151
>>>>>>>>>>>> crit=0.0111128
>>>>>>>>>>>>
>>>>>>>>>>>> I am now trying to understand what is the correct residual
>>>>>>>>>>>> value of  Newton(-Raphson) algorithm.
>>>>>>>>>>>> I will be glad if you have an opinion.
>>>>>>>>>>>>
>>>>>>>>>>>> Best Regards Tetsuo
>>>>>>>>>>>> 2021年5月11日(火) 19:28 Tetsuo Koyama <[email protected]>:
>>>>>>>>>>>>
>>>>>>>>>>>>> Dear Kostas
>>>>>>>>>>>>>
>>>>>>>>>>>>> > The relevant code is in the void model::assembly function in
>>>>>>>>>>>>> getfem_models.cc. The relevant code assembling the term you add 
>>>>>>>>>>>>> with
>>>>>>>>>>>>> md.add_nonlinear_term(..) must be executed inside the if condition
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > if (generic_expressions.size()) {...}
>>>>>>>>>>>>> > You can have a look there and ask for further help if it
>>>>>>>>>>>>> looks too complex. You should also check if the test works when 
>>>>>>>>>>>>> you run it
>>>>>>>>>>>>> with md.add_nonlinear_term but setting the number of MPI 
>>>>>>>>>>>>> processes to one.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks. I will check it. And the following command completed
>>>>>>>>>>>>> successfully..
>>>>>>>>>>>>>
>>>>>>>>>>>>> $ mpirun -n 1 python demo_parallel_laplacian.py
>>>>>>>>>>>>>
>>>>>>>>>>>>> So all we have to check is compare -n 1 with -n2 .
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best regards Tetsuo
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2021年5月11日(火) 18:44 Konstantinos Poulios <
>>>>>>>>>>>>> [email protected]>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Dear Tetsuo,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The relevant code is in the void model::assembly function in
>>>>>>>>>>>>>> getfem_models.cc. The relevant code assembling the term you add 
>>>>>>>>>>>>>> with
>>>>>>>>>>>>>> md.add_nonlinear_term(..) must be executed inside the if 
>>>>>>>>>>>>>> condition
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> if (generic_expressions.size()) {...}
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You can have a look there and ask for further help if it
>>>>>>>>>>>>>> looks too complex. You should also check if the test works when 
>>>>>>>>>>>>>> you run it
>>>>>>>>>>>>>> with md.add_nonlinear_term but setting the number of MPI 
>>>>>>>>>>>>>> processes to one.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> BR
>>>>>>>>>>>>>> Kostas
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, May 11, 2021 at 10:44 AM Tetsuo Koyama <
>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Dear Kostas
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you for your reply.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> > Interesting. In order to isolate the issue, can you also
>>>>>>>>>>>>>>> check with
>>>>>>>>>>>>>>> > md.add_linear_term(..)
>>>>>>>>>>>>>>> > ?
>>>>>>>>>>>>>>> It ends when using md.add_linear_term(..).
>>>>>>>>>>>>>>> It seems that it is a problem of md.add_nonlinear_term(..).
>>>>>>>>>>>>>>> Is there a point which I can check?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best regards Tetsuo.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2021年5月11日(火) 17:19 Konstantinos Poulios <
>>>>>>>>>>>>>>> [email protected]>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Dear Tetsuo,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Interesting. In order to isolate the issue, can you also
>>>>>>>>>>>>>>>> check with
>>>>>>>>>>>>>>>> md.add_linear_term(..)
>>>>>>>>>>>>>>>> ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>> Kostas
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, May 11, 2021 at 12:22 AM Tetsuo Koyama <
>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Dear GetFEM community
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I am running MPI Parallelization of GetFEM.The running
>>>>>>>>>>>>>>>>> command is
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> $ git clone https://git.savannah.nongnu.org/git/getfem.git
>>>>>>>>>>>>>>>>> $ cd getfem
>>>>>>>>>>>>>>>>> $ bash autogen.sh
>>>>>>>>>>>>>>>>> $ ./configure --with-pic --enable-paralevel=2
>>>>>>>>>>>>>>>>> $ make
>>>>>>>>>>>>>>>>> $ make install
>>>>>>>>>>>>>>>>> $ mpirun -n 2 python demo_parallel_laplacian.py
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> The python script ends correctly. But when I changed the
>>>>>>>>>>>>>>>>> following linear term to nonlinear term the script did not 
>>>>>>>>>>>>>>>>> end.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> -md.add_Laplacian_brick(mim, 'u')
>>>>>>>>>>>>>>>>> +md.add_nonlinear_term(mim, "Grad_u.Grad_Test_u")
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Do you know the reason?
>>>>>>>>>>>>>>>>> Best regards Tetsuo
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>

Reply via email to