===== Commit 2013-09-20 ===== CPU Optimisation ===== CPU Optimisation ===== * Suppression d'un bottleneck cpu dans les loadings: * lors du calcul des ''LoadingsSet'' (principalement rotation/radial/complexUniform), on récupérait l'info au pas de temps précédent en faisant un ''setStep(nt-1)'' pour ramener toute l'analyse au pas précédent puis à nouveau un ''setStep(nt)'' pour revenir au pas de temps courant * ''setStep'' : une opération excessivement couteuse * j'ai remplacé cette technique par la recherche du Step(nt-1) (duquel on peut retrouver l'info nécessaire au loading) * sur le début d'un test de profilage (~400 outil à faire tourner par pas de temps) le calcul des conditions limites (en début de pas de temps) passe de 783 sec à 0.782 sec !!! * Possibilité de ne pas créer les fichiers courbes (.v, .ascii) dans les extracteurs pour éviter de faire hurler les disques pendant les batteries (principalement pour monosMaterials2) * ''valuesmanager.setOnFile(False)'' : génère un vectorInMemory au lieu d'un VectorOnFile (attention, pas valable pour les sorties multiples : MatrixOnFile) ===== Batterie ===== ** Triangle Mesher ** * modification de la classe ''TriangleMesher'' pour qu'elle n'écrive plus ses fichiers temporaire (d'un nom abscon) n'importe où (généralement dans la racine du disque), mais écrive des fichiers nommé ''triangMesh'' dans le workspace. * nb : il faut evidemment que les cas tests soient écrits en format fonction (en "oldStyle", le workspace n'existe pas au chargement) * Si il fallait pouvoir avoir plusieur mailleurs dans le même cas test, il suffit de donner un autre nom dans le constructeur : class TriangleMesher: "Triangle interface" def __init__(self, target, domain, name="triangMesh"): ** Projet tbb ** * Ajout d'un fichier de configuration win64-vs2012-tbb.cmake pour compiler avec tbbloop actif (dev only) ** apps.remeshing.forge ** Le cas test ''apps.remeshing.forge'' plante de manière aléatoire à l'étape 3, 4 ou 5 (pas toujours à la même étape dans des runs successifs!!!). Ne pouvant le fixer, il passe dans Failed (mais pourrait en ressortir au prochain commit). A FIXER SVP !!! ===== Fichiers ajoutés/supprimés ===== A oo_meta\CMake\win64-vs2012-tbb.cmake R --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2013/09/20 //