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

You are not logged in.

#1 2011-04-05 12:35:51

pierre_j
Member
Registered: 2010-01-19
Posts: 773

[solved] contact method compatibility with parallelism

Hello,

When running a computation based on an "overloaded" version of Code_Aster in MPI with mpi_nbcpu = 2, the following appeared in the mess file.

!----------------------------------------------------------------------------------------------------------!
   ! <EXCEPTION> <CALCULEL6_54>                                                                               !
   !                                                                                                          !
   ! Problème d'utilisation du parallélisme :                                                                 !
   !    Les fonctionnalités de parallélisme utilisées ici (calculs distribués) conduisent à créer             !
   !    des structures de données "incomplètes" (i.e. partiellement calculées sur chaque processeur).         !
   !                                                                                                          !
   !    Malheureusement, dans la suite des traitements, le code a besoin que les structures de données soient !
   !    "complètes". On est donc obligé d'arreter le calcul.                                                  !
   !                                                                                                          !
   !  Conseils pour l'utilisateur :                                                                           !
   !    1) Il faut émettre une demande d'évolution du code pour que le calcul demandé aille à son terme.      !
   !    2) En attendant, il ne faut pas utiliser la "distribution" des structures de donnée.                  !
   !       Aujourd'hui, cela veut dire :                                                                      !
   !         - éviter de se retrouver avec une "partition" du modèle dans la commande où le problème a été    !
   !           détecté.                                                                                       !
   !         - pour cela, juste avant l'appel à la commande problématique, il faut appeler la commande :      !
   !           MODI_MODELE(reuse=MO, MODELE=MO, PARTITION=_F(PARALLELISME='NON'))                             !
   !----------------------------------------------------------------------------------------------------------!

This message doesn't appear with mpi_nbcpu =1 and the calculation runs (even if results seem to be quiet weird (this is under investigation)).

Hence the question: is "overloading" compatible with MPI parallel calculations?

I thank you in advance for any advices.
Bests,

Pierre

Last edited by pierre_j (2011-07-19 12:39:26)


Attachments:
stamping3D.mess, Size: 76.01 KiB, Downloads: 256

Offline

#2 2011-04-05 17:01:20

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [solved] contact method compatibility with parallelism

Hi,

Discrete contact-based penalization is not available in parallel. Available contact methods when running in parallel are :

- CONTRAINTE
- GCP
- LAGRANGIEN
- CONTINUE

If friction is added :

- LAGRANGIEN (2D only)
- CONTINUE

This explains the error message, the overloading is not the cause here. When running sequential everything is OK of course.

TdS

Offline

#3 2011-04-05 23:45:58

todd_alan_martin
Member
Registered: 2008-03-06
Posts: 131

Re: [solved] contact method compatibility with parallelism

Hi

Just for clarity. Does parallelism work for dual/quad-core processors or just machines with multiple single-core processors on the motherboard?

Todd.

Offline

#4 2011-04-06 08:39:24

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [solved] contact method compatibility with parallelism

Hi Todd,

todd_alan_martin wrote:

Just for clarity. Does parallelism work for dual/quad-core processors or just machines with multiple single-core processors on the motherboard?

Parallelism in Code_Aster works for both multi-cores and multiple single-cores since you can install MPI (the standard we use to make Aster parallel) on a shared-memory machine with multi-cores.
However one will not obtain the same amount of speed-up on a 2*dual-core processors that one would expect from 4 single-core processors, each with access to its own memory.
Indeed for some operation, such as using an iterative solver, memory bandwidth is more important than sheer cpu power. And on modern personal computers dual/quad-core processors usually share the same memory bandwidth.

TdS

Offline

#5 2011-04-06 08:51:49

pierre_j
Member
Registered: 2010-01-19
Posts: 773

Re: [solved] contact method compatibility with parallelism

Thank you very much Thomas,

Bests,

Pierre

Offline

#6 2011-04-07 11:40:31

assire
Administrator
From: Paris
Registered: 2007-11-21
Posts: 225

Re: [solved] contact method compatibility with parallelism

Thomas DE SOZA wrote:

Indeed for some operation, such as using an iterative solver, memory bandwidth is more important than sheer cpu power. And on modern personal computers dual/quad-core processors usually share the same memory bandwidth.

And we can add that each MPI process will generate its own data in a temporary directory. So, one disk controller have to manage N dataflow. Limitation due to multiple disk access will be important that limitation in bandwidth memory.

Offline