La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

P LATEFORME H2OLAB Réunion Projet MICAS Equipe SAGE Nadir SOUALEM - 1 Plateforme H2OLAB.

Présentations similaires


Présentation au sujet: "P LATEFORME H2OLAB Réunion Projet MICAS Equipe SAGE Nadir SOUALEM - 1 Plateforme H2OLAB."— Transcription de la présentation:

1 P LATEFORME H2OLAB Réunion Projet MICAS Equipe SAGE Nadir SOUALEM - 1 Plateforme H2OLAB

2 P LAN Portage Windows-Linux Problèmes Rencontrés Applications portées sous Linux Outil de génération Cmake Exemple dutilisation Configuration Génération Ctest Travaux en cours et objectifs 2 Plateforme H2OLAB

3 P ORTAGE : PROBLÈMES RENCONTRÉS Problèmes de références sur les objets void FOO ( Point & A); Point (double a1, double a2); Erreurs Syntaxiques: Template de template error: '>>' should be '> >' within a nested template argument list Mauvaise utilisation FOO(Point(a1,a2)); 3 Plateforme H2OLAB Mauvaise utilisation vector > u(20); Bonne utilisation Point A=Point(a1,a2); FOO (A); Bonne utilisation vector > u(20);

4 P ORTAGE : PROBLÈMES RENCONTRÉS Méthodes non paramétrées dune classe mère appelée dans une classe fille template class Base { int f(); }; template class Derived : Base { int g() { return f(); }; }; 4 Plateforme H2OLAB Solution this->f() ou Base ::f()

5 P ORTAGE : PROBLÈMES RENCONTRÉS Erreurs liées aux conversions de type size_t m = size_t(-1); //Plus grand entier codable en machine double n = m; 32 bits m= n = bits m= n= Plateforme H2OLAB

6 P ORTAGE : PROBLÈMES RENCONTRÉS Headers non-standard:conio.h, tchar.h, _mkdir, _chdir, _ getch int _getch() { struct termios oldt, newt; int ch; tcgetattr( STDIN_FILENO, &oldt ); newt = oldt; newt.c_lflag &= ~( ICANON | ECHO ); tcsetattr( STDIN_FILENO, TCSANOW, &newt ); ch = getchar(); tcsetattr( STDIN_FILENO, TCSANOW, &oldt ); return ch; } Problèmes liés à lexécution: outil logiciel Valgrind Fuite mémoire: valgrind --leak-check=yes prog arg1 arg2 Variables non initialisées: --track-origins=yes Exemple de rapport présent sur la forge 6 Plateforme H2OLAB

7 P ORTAGE DES APPLICATIONS Logiciels portés sous Linux Ensemble des librairies PARADIS MP_FRAC_D2 MP_FRAC_D2_FLOW MP_FRAC_D3 MP_FRAC_D3_FLOW MS_FRAC Ajout dans la forge de SDK-eclipse Software Eclipse Plugin SVN intégré Documentation dinstallation Introduction de CMake 7 Plateforme H2OLAB

8 O UTILS L OGICELS : C MAKE C'est un logiciel qui est: développé par Kitware Opensource Multiplatforme (Unix/Mac/Windows) Principe: génération de fichiers de construction standards Makefiles sous Unix/Linux/Mac Projet Visual Studio C++sous Windows 8 Plateforme H2OLAB

9 C MAKE E XEMPLE : PROJET FEM SOLVER EDP SIMULATION simulation1.{cpp,h} simulation2.{cpp,h} simulation.cpp main() 9 Plateforme H2OLAB solver1.{cpp,h}, solver2.{cpp,h}libSolver edp1.{cpp,h}, edp2.{cpp,h}libEdp Simulation Link FEM

10 C ONFIGURATION : CM AKE L ISTS. TXT FEM - CMakeLists.txtPROJECT(FEM) SUBDIRS(SOLVER EDP SIMULATION) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/SOLVER${CMAKE_SOURCE_DIR}/EDP${CMAKE_SOURCE_DIR}/SIMULATION) SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/ lib ) SOLVER - CMakeLists.txt ADD_LIBRARY(Solver solver1.cpp solver2.cpp) EDP - CMakeLists.txt ADD_LIBRARY(Edp edp1.cpp edp2.cpp) SIMULATION - CMakeLists.txt ADD_EXECUTABLE(Simulation simulation1.cpp simulation2.cpp) TARGET_LINK_LIBRARIES(Solver Edp) 10 Plateforme H2OLAB

11 G ÉNÉRATION : LIBRAIRIES ET EXECUTABLES En mode Debug cmake. DCMAKE_BUILD_TYPE=Debug make En mode Release cmake. DCMAKE_BUILD_TYPE=Release make Possibilité dinstallation Out-Sourcing (à discuter) cmake. DCMAKE_BUILD_TYPE=Release make make install 11 Plateforme H2OLAB

12 O UTILS L OGICIELS : C TEST Inclus dans CMake Execution de tests Couverture de codeg++ -fprofile-arcs -ftest-coverage Couplage avec Valgrind FEM - CMakeLists.txtPROJECT(FEM) SUBDIRS(SOLVER EDP EXEMPLE) ENABLE_TESTING()… SIMULATION - CMakeLists.txt ADD_EXECUTABLE(Simulation simulation1.cpp simulation2.cpp) TARGET_LINK_LIBRARIES(Solver Edp) ADD_TEST(test1 Simulation) ADD_TEST(test2 Simulation) 12 Plateforme H2OLAB

13 A UTOMATISATION DES TESTS Création dun script testing.sh avec authentification ssh #!/bin/bash cd $HYDROLAB_ROOT/svn svn update cmake. make ctest -D Experimental Automatisation à laide de crontab(Unix) ou Taches planifiées(Windows) * * 1-5 sh /udd/nsoualem/testing.sh 13 Plateforme H2OLAB

14 T RAVAUX EN COURS ET OBJECTIFS Travaux en cours Passage définitif à gcc 4.3 Portage dIsthmus Rédaction dune documentation développeur Unix/Windows avec lintroduction des Règles de codage Objectifs Ctest pour les tests de non-régression (à définir) Visualisation OPENGL Portage de Porous Fracture Paramétrage de Cmake pour Windows Mise à jour des librairies extérieures Mise a jour de blas->GotoBlas Ajouter CholMod(SuiteSparse) Userguide (tutorial) 14 Plateforme H2OLAB


Télécharger ppt "P LATEFORME H2OLAB Réunion Projet MICAS Equipe SAGE Nadir SOUALEM - 1 Plateforme H2OLAB."

Présentations similaires


Annonces Google