Analyse des temps CPU

Analyse des temps CPU

Contexte

Pour résoudre le système diphasique Tacite gaz-liquide, le schéma numérique de type VFRoe a été implémenté [26] et permet de palier aux désavantages des schémas numériques antérieurs. Pourtant, certains inconvénients subsistent, notamment une robustesse parfois limitée et un temps calcul important. 6.1.2 D’autres tentatives Du point de vue de la rapidité, une autre stratégie, `a la fois au niveau du modèle et au niveau numérique, a montré son efficacité. Il s’agit du modèle NPW associé `a un schéma centré implicite pour les termes qui confèrent aux équations leur type parabolique et un schéma décentré explicite pour les termes qui confèrent aux équations leur type hyperbolique[25]. Du fait du caractère partiellement implicite du schéma, les gains en temps calcul sont particulièrement intéressants (jusqu’`a 40). Il n’est pas possible de comparer cette approche avec la notre puisque le système d’équations aux dérivées partielles n’est pas le même. Pourtant, nous devons pondérer nos gains par les gains obtenus par d’autres approches. 6.1.3 Méthode proposée Pour trouver une solution `a la double problématique de la robustesse et du temps CPU, nous menons des recherches sur une méthode de relaxation qui pourrait permettre d’y remédier. Le but de ce chapitre est de montrer combien la méthode de relaxation est plus rapide que la méthode VFRoe–Tacite. Faire l’analyse du temps CPU d’un code scientifique n’est pas simple car le temps CPU d’un programme dépend beaucoup de paramètres très variables : 1. la puissance de la machine utilisée,2. la finesse du compilateur (ici fortran 90) et son utilisation (avec des options de compilation telle −O2 ou d’autres), 3. l’ingéniosité du programmeur qui, a` une date donnée, produit un code plus ou moins optimisé, 4. la charge de la machine a` l’instant considéré, 5. la complexité des calculs mis en œuvre. Le point qui nous intéresse ici est surtout le dernier, mais les 3 premiers sont très importants dans le temps CPU final. Par ailleurs, insistons sur le fait que le but de cette thèse n’était pas d’optimiser le programme informatique, devenu assez complexe (environ 20 000 lignes de code). Par conséquent, les mesures de temps CPU affichées ici sont a` prendre avec pondération. Notons qu’il est parfois difficile de mesurer le temps CPU d’un programme, car de nombreux utilisateurs travaillent sur une même machine. C’est en partie pour cette raison que nous avons orienté notre travail vers des études de complexité, indépendantes de ce problème. La complexité des calculs dépend de : 1. la taille du système a` traiter. Nous étudierons ici le système diphasique DFM a` N = 3 équations. 2. le nombre de mailles I utilisées pour discrétiser la conduite. Il est bien connu que le temps CPU final est une fonction quadratique du nombre de maille. 3. les lois de fermetures. L’évaluation des lois thermodynamiques et hydrodynamiques est très couteuse ˆ en temps calcul. 4. le schéma numérique. Les schémas numériques que nous utilisons sont de deux types : 1. Schéma Explicite. Il est fondé sur le calcul d’un flux numérique sur chaque arête. 2. Schéma Semi-Implicite linéaire. Il est fondé sur l’inversion d’un système linéaire constitué de blocs dont la taille est N = 3 pour le schéma Tacite et N = 5 ou N = 4 pour le schéma de relaxation, selon l’implémentation (nous y reviendrons). Le schéma semi-implicite linéaire est construit en deux étapes : (a) construction du système linéaire (cette étape utilise les procédures apparues dans le schéma explicite), (b) inversion du système linéaire par une méthode de Gauss par bande. Ainsi, pour juger de la complexité d’un schéma explicite, il suffit d’analyser la complexité du calcul d’un seul flux numérique. Par contre, pour juger de la complexité d’un schéma semi-implicite linéarisé, il faut tenir compte du fait que la résolution du système linéaire est importante. L’analyse doit donc en particulier porter sur la taille de cette matrice. Dans les deux cas, l’attention doit également porter sur le pas de temps et l’avantage sera au schéma ayant le plus grand pas de temps. Mais l’analyse de la complexité ne suffit pas car tous les calculs ne prennent pas le même temps; ainsi, par exemple, l’évaluation de la pression est, pour la machine, très complexe : en fonction des cas, la pression est soit tabulée, soit issue d’une méthode non-linéaire (Newton par exemple) ou au mieux analytique (dans des cas simplistes). Il est donc nécessaire, dans la pratique, d’évaluer précisément dans la simulation quel temps prend chaque calcul. Cette étude nous intéresse premièrement pour analyser les résultats de la méthode de relaxation. Notons toutefois qu’un aspect original de ce document est qu’il permet également d’étudier la complexité du schéma VFRoe–Tacite, étude dont nous ne trouvons pas de trace antérieure dans la bibliographie IFP. Dans la première partie, nous faisons une analyse algorithmique des deux schémas explicites et dans la seconde des deux schémas semi-implicites linéaires. Dans la troisième partie, nous présentons les temps CPU obtenus dans les problèmes sans et avec conditions limites. Note au lecteur De nombreux et parfois fastidieux calculs sont nécessaires pour parvenir aux dénombrements souhaités ici. Pour faciliter la lecture de ce document, nous avons placé en annexe A, dans des figures séparées, les détails des calculs que nous évoquons dans le texte. Une première lecture peut se faire aisément en “sautant” ces détails. 

Analyse algorithmique des schémas explicites

On propose dans ce paragraphe de calculer la complexité des algorithmes mis en œuvre dans les schémas Tacite et relaxation en dénombrant les opérations nécessaires pour calculer le flux sur une arête pour les deux schémas numériques.

Analyse du schéma de relaxation

Nous nous pla¸cons sur une arête i + 1/2 ayant pour états gauche et droit les états des mailles i et i + 1. Au début du pas de temps, nous connaissons ρ, χ, q a` gauche et a` droite. On calcule alors P, Pτ , Pv, σ, σY , a` gauche et a` droite. Cela représente 10 évaluations des fonctions de base. Le détail de l’algorithme du schéma de relaxation explicite est donné dans les figures (A.1) et (A.2). Le décompte total est effectué dans la figure (6.3). 

Analyse du schéma Tacite

Au début du pas de temps, nous connaissons ρ, χ, q a` gauche et a` droite. On calcule alors P, Pρ, Pχ, Pq, σ, σρ, σχ, σq, a` gauche et a` droite. Cela représente 16 évaluations des fonctions de base. Le détail de l’algorithme du schéma Tacite explicite est donné dans la figure (A.3). Le décompte total est effectué dans la figure (6.4). 6.3.3 Analyse comparée Les tableaux précédents permettent de comprendre clairement les avantages de la méthode de relaxation en terme de vitesse d’éxécution. La méthode de relaxation ne fait que 10 évaluations des fonction de base alors que la méthode Tacite nécessite 16 évaluations, ce qui fait un rapport de 16/10 ≈ 1.6. La raison mathématique est que pour calculer la matrice Jacobienne, la méthode Tacite a besoin de toutes les dérivées de P et σ alors que la méthode de relaxation n’a besoin que de certaines dérivées. D’un autre point de vue, les évaluations en question font appel aux modules thermodynamique et hydrodynamique du code, modules qui sont très consommateurs de temps

La méthode de relaxation ne fait que 114 calcul élémentaires alors que la méthode Tacite en fait 16 fois plus. La raison est que la méthode Tacite utilise des algorithmes de calcul des éléments propres dont la complexité (en O(N3 )) est très grande tandis que la méthode de relaxation utilise des calculs peu complexes (en O(N)). Notons que pour la méthode Tacite, 84 % des opérations consistent en le calcul des éléments propres. Le facteur global entre la méthode de relaxation et la méthode Tacite est alors la combinaison entre le cout ˆ de l’évaluation des fonctions de base et le nombre d’opérations : Gain = 1.6 θ + 16 (1 − θ), θ ∈ [0, 1] (6.3) Il est possible de diminuer le cout ˆ de calcul des coefficients de relaxation : il suffit pour cela d’enlever la modification de (a, b) permettant d’assurer ρ > 0 et Y ∈ [0, 1] (un grand nombre de cas fonctionneraient sans ces modifications). Le rapport de cout ˆ entre le schéma de relaxation et le schéma Tacite est alors 1791/80 ≈22. Cette donnée est tout a` fait en accord avec les premiers résultats obtenus en 2000-2001 : en effet, ils concernaient des tests avec une loi de glissement nulle et une thermodynamique simpliste (liquide incompressible) pour laquelle les évaluations de base étaient une part très réduite du temps calcul total. C’était une situation très favorable a` la méthode de relaxation. La méthode de relaxation a un pas de temps ∆t deux fois plus grand que la méthode Tacite. En effet, le schéma Tacite est paramétré par le coefficient de diffusion k = 2 qui intervient dans le calcul des valeurs propres, donc du pas de temps. 

Cours gratuit  Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *