Commit - LPx - 21 Decembre 2018
Bug Fix : ALE Rezoner - comp.py
ALE Rezoner
Brieuc m'a indiqué que l'utilisation de l'“IterativeReZoner2D” avec jacobi en parallèle amenait parfois un plantage de Metafor lors du prépro ALE. Le message était “quadWire #xxx : discontinuous wire” avec un numéro de wire à chaque fois différent.
Ce bug n'étant pas reproductible (et intervenant 1 fois sur 10) ⇒ il doit s'agir d'un bug de parallélisation (dataRace)
J'ai aussi expériencé ce bug sur zenobe avec une occurence beaucoup plus importante (24 threads)
Par manque de temps, je n'ai pas pris le temps de débugger la cause fondamentale du problème, j'ai ajouté un paramètre “init” passé à la fonction ReZoner.execute(bool init=false) qui force l'execution de Jacobi en série lors de l'initialisation de l'ALE. Après discussion avec Romain, j'ai préféré cette solution à l'appel de GaussSeidel (qui est déjà série) pour ne pas perturber le maillage par un changement d'algo…
Le paramètre ayant du être passé à tous les ReZoners, le même jeux pourrait être fait en cas de besoin
Timers
Craignant de me faire jeter de Zenobe avant que certains tests soient finis, et donc perdre mes timers, j'ai ajouté une sauvegarde des timers/gTimers à chaque écriture des facs (avec le numéro de step comme pour les facs).
Dites moi si ca dérange (je peux adapter pour simplifier)
comp.py
Depuis mon dernier commit, j'expériencais des soucis au relancement de comp.py (en modifiant les paramètres de batterie : True/False/continue).
La cause était la sauvegarde de la liste des paramètres des MultiPRM qui sauvegardait tout sous forme de strings (dont les booleens True/False)
C'est corrigé : ⇒ REUPDATEZ VOS ~/bin SUR LES STATIONS !!!
Fichiers ajoutés/supprimés :
Added :
Deleted :
Moved :
Tests ajoutés/supprimés