[Metil-lmtpp] multi
Status: Pre-Alpha
Brought to you by:
hugo_lec
From: Martin G. <mar...@lm...> - 2009-01-25 15:47:48
|
salut à tous, pour compiler multi avec le dernier gcc (4.3.2, installé sur les ubuntu 8.10 et bientôt partout inch'allah), il y a un certain nombre de choses à faire: - comme c'est expliqué sur http://zitronensaft.blogspot.com/2008/02/using-hashmap-on-gcc.html, il faut remplacer #include <hash_map.h> par #include <hash_map> dans SRC/MAILLAGE/p_surdiscretisation.h, et rajouter __gnu_cxx:: devant tous les hash_map< ... > dans les fichiers SRC/MAILLAGE/p_surdiscretisation.h et SRC/MAILLAGE/p_create_SST_edge.h; mais il y a peut-être une solution plus efficace - comme c'est expliqué sur http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include, depuis gcc 4 il faut mettre tous les includes: - #include <limits> dans LMT/include/containers/symd.h - #include <string.h> dans LMT/include/io/units.cpp; - #include <algorithm> dans LMT/include/io/units.cpp; - #include <algorithm> dans LMT/include/util/symrcm.cpp; au passage, hugal, tu peux vérifier que tous les includes sont dans le dépôt LMTpp? - perso j'ai été obligé de remplacer dans Sconstruct les lignes #libs += [ #'/usr/local/lam-7.0.4/lib/liblammpi++.a', #'/usr/local/lam-7.0.4/lib/libmpi.a', #'/usr/local/lam-7.0.4/lib/liblam.a', #]*(arch!='x86-64') par les lignes libs += [ '/usr/lib/lam/lib/liblammpi++.a', '/usr/lib/lam/lib/libmpi.a', '/usr/lib/lam/lib/liblam.a', ]*(arch!='x86-64') pour passer l'édition des liens; mais il y a peut-être une solution plus efficace au passage, je propose de rajouter quelques points à la discution de vendredi: - comment gérer le côté compilation du code avec les évolutions d'architecture et de compilateur? faut-il qu'il y ait un 'responsable' qui s'assure que le code se compile bien sur un certain parc de machine à définir? un thésard? la cellule logiciel? ou bien faut-il que tout le monde soit responable? - est-ce qu'il faudrait ajouter à ce ou ces responsables 'compilation' la responsabilité 'cas test', qui consisterait à valider les évolutions de la librairie LMTpp, base du code multi, sur des cas test existants? - comment gérer les différentes étapes pour rassembler les différents codes multi en un seul? quelle base choisir pour rassembler les évolutions? quelles évolutions sont à ajouter? - comment gérer le travail à plusieurs au sein des codes multi actuel? en effet la gestion est très différente de celle de LMTpp, car c'est un code et pas une librairie! une dernière question: comment sait-on qui reçoit cette lettre? merci bien à demain martin |