commit:2018:03_09
This is an old revision of the document!
−Table of Contents
Commit - LPx - 09 Mars 2018
BoundingBoxes
BoundingBoxes
- Suite à la parallélisation du contact, le calcul et la mise à jour des bounding-boxes pour le contact suivaient 2 schémas différents selon que l'on était en parallèle (via un pré-calcul explicite) ou pas (avec un flag invalidé en amont et le calcul unique de chaque BBox au besoin)
- au delà de devoir gérer 2 schéma d'intégration selon le parallélisme, chaque méthodes avaient son inconvénient :
- Le pré-calcul des BBox (pour les calculs parallèles) pouvait amener à calculer plusieurs fois le même outil (si il participait à plusieurs interactions de contact)
- l'invalidation des BBox et le calcul au besoin nécessiterait un mutex au moment du calcul de la BBox, ce qui n'est pas optimal du tout
- Le choix s'est posé sur un mix des 2 méthodes :
- les BBox conservent leurs flags de validité (pour ne calculer que 1 seule fois chaque BBox)
- les BBox sont explicitement invalidées à chaque pas de temps (RDContactInteraction) ou chaque iteration (DDContactInteraction)
- le calcul des BBox est explicitement appelé hors boucle parallèle (nb : pour les outils facetisés, les boucles sur les facettes pourraient être rendues parallèles) et une seule fois par objet grace au flax de validité
Divers :
- Remeshing :
Fichiers ajoutés/supprimés :
Added : Deleted : M :
Tests ajoutés/supprimés
Adding: Deleted : Moved :
— Luc Papeleux 2018/03/09
commit/2018/03_09.1520603550.txt.gz · Last modified: 2018/03/09 14:52 by papeleux