commit:2015:08_12
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| commit:2015:08_12 [2015/08/12 11:09] – boman | commit:2015:08_12 [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Portage MinGW ===== | ===== Portage MinGW ===== | ||
| - | J'ai modifié le code pour pouvoir le compiler avec [[http:// | + | J'ai modifié le code pour pouvoir le compiler avec [[http:// |
| __Quels sont les buts?__ | __Quels sont les buts?__ | ||
| - | * Obtenir un **exécutable 32 bits**: c'est important pour pouvoir fournir Metafor aux étudiants ou aux industriels qui possèdent des vieilles machines sous XP, Vista ou Win7-x86. Depuis que Metafor utilise des fonctionnalités du C++11, c'est devenu un problème puisque la compilation de Metafor requiert un compilateur relativement récent tel que Visual Studio 2012, qui est impossible à installer sous XP - Windows XP étant le plus vieux système auquel on est toujours confronté). On a donc un problème pour générer une version 32 bits qui tourne partout! (les exe's Visual Studio générés sous Windows7-x86 ne sont pas totalement compatibles avec Vista et XP). | + | * Obtenir un **exécutable 32 bits**: c'est important pour pouvoir fournir Metafor aux étudiants ou aux industriels qui possèdent des vieilles machines sous XP, Vista ou Win7-x86. Depuis que Metafor utilise des fonctionnalités du C++11, c'est devenu un réel problème puisque la compilation de Metafor requiert un compilateur relativement récent tel que Visual Studio 2012, qui est impossible à installer sous XP (Windows XP étant le plus vieux système auquel on est toujours confronté). On a donc un problème pour générer une version 32 bits qui tourne partout! (les exe's Visual Studio générés sous Windows7-x86 ne sont pas totalement compatibles avec Vista et XP). Précédemment, |
| - | * Ca permet de compiler le code avec un **compilateur supplémentaire** (et donc de trouver | + | * Ca permet de compiler le code avec un **compilateur supplémentaire** (et donc de trouver |
| * MinGW étant **gratuit**, | * MinGW étant **gratuit**, | ||
| - | Ci dessous, je liste les différents problèmes que j'ai dû résoudre pour ce portage. | + | Ci-dessous, je liste les différents problèmes que j'ai dû résoudre pour ce portage. |
| ===== Compilation des libs ===== | ===== Compilation des libs ===== | ||
| Line 18: | Line 18: | ||
| Le compilateur est [[http:// | Le compilateur est [[http:// | ||
| - | En effet, c'est un peu déroutant au début: avec MinGW, on peut utiliser soit des "MinGW Makefiles" | + | C'est un peu déroutant au début: avec MinGW, on peut utiliser soit des "MinGW Makefiles" |
| - | * Les premiers (" | + | * Les premiers (" |
| - | * Les seconds ("MSYS Makefiles" | + | * Les seconds ("MSYS Makefiles" |
| - | En pratique, il faut malheureusement jongler avec les 2 systèmes, du moins quand on veut compiler les libs. Une lib peut utiliser des "MinGW Makefiles" | + | En pratique, il faut malheureusement jongler avec les 2 systèmes, du moins quand on veut compiler les libs. En effet, une lib peut utiliser des "MinGW Makefiles" |
| Cette subtilité comprise, j'ai essayé de ne compiler que ce qui était vraiment nécessaire pour Metafor en partant de l' | Cette subtilité comprise, j'ai essayé de ne compiler que ce qui était vraiment nécessaire pour Metafor en partant de l' | ||
| Line 37: | Line 37: | ||
| * bison/flex: installé via le synaptic de MSYS. | * bison/flex: installé via le synaptic de MSYS. | ||
| - | Pour la batterie, il me manque triangle, tetgen et numpy. Mais comme je ne compte pas passer de batterie avec une version 32 bits, je ferai ça plus tard. | + | Pour la batterie, il ne me manque |
| Petite remarque: les fichiers '' | Petite remarque: les fichiers '' | ||
| Line 85: | Line 85: | ||
| ====== Perfs? ====== | ====== Perfs? ====== | ||
| - | Quelles sont les perfs de cette nouvelle version? | + | Quelles sont les perfs de cette nouvelle version? |
| - | Voilà ce que ça donne sur le cas test du tube. Pour cette première série de tests, je compare " | + | Voilà ce que ça donne sur le cas test du tube. |
| - | * win7-msvc-x64: | + | |
| + | **Pour cette première série de tests**, je compare " | ||
| + | * win7-msvc-x64: | ||
| * winxp-mingw32: | * winxp-mingw32: | ||
| * ubuntu-gcc-x64: | * ubuntu-gcc-x64: | ||
| Line 96: | Line 98: | ||
| La version ubuntu est la plus rapide (67s), talonnée par la virtualbox win7-visual (71s) et loin derrière, on retrouve la nouvelle version 32 bits (102s). Petit détail amusant: le skyline est plus rapide dans la virtualbox win7 que sous ubuntu. Par contre toutes les autres routines sont plus efficaces sous ubuntu. | La version ubuntu est la plus rapide (67s), talonnée par la virtualbox win7-visual (71s) et loin derrière, on retrouve la nouvelle version 32 bits (102s). Petit détail amusant: le skyline est plus rapide dans la virtualbox win7 que sous ubuntu. Par contre toutes les autres routines sont plus efficaces sous ubuntu. | ||
| - | En ce qui concerne la nouvelle version MinGW, le code est plus lent dans toutes les phases de résolution et principalement dans l' | + | En ce qui concerne la nouvelle version MinGW, le code est plus lent dans toutes les phases de résolution et principalement dans l' |
| Il faudra donc tester cette version sur un système récent (win7 x64 p expl). Il faudra également faire des tests de comparaison MKL/ | Il faudra donc tester cette version sur un système récent (win7 x64 p expl). Il faudra également faire des tests de comparaison MKL/ | ||
| - | Dans un second temps, je me suis demandé si le solveur MUMPS était utilisable avec MinGW puisqu' | + | **Dans un second temps**, je me suis demandé si le solveur MUMPS était utilisable avec MinGW puisqu' |
| La série de tests suivante consiste à tester les différents solveurs sur la même machine. Par simplicité, | La série de tests suivante consiste à tester les différents solveurs sur la même machine. Par simplicité, | ||
| Line 107: | Line 109: | ||
| {{ : | {{ : | ||
| - | Il y a visiblement un (gros) problème... On voit bien que la plupart des phases qui n' | + | Il y a visiblement un (gros) problème... On voit bien que la plupart des phases qui n' |
| - | Si on regarde la résolution, | + | Si on regarde la résolution |
| - | Par contre, l' | + | Par contre, l' |
| ====== samcef.py ====== | ====== samcef.py ====== | ||
| - | Je me suis rendu compte que la licence actuelle de SAMCEF ne donne plus accès à GHS3D. | + | Je me suis rendu compte que la licence actuelle de SAMCEF |
| - | Le fichier contactTetra.fdb, que j' | + | |
| - | Le problème c'est que la manière dont j' | + | Conséquence: |
| - | < | + | Le problème c'est que la manière dont j' |
| + | < | ||
| + | |||
| + | Remarque: il n'y a aucune raison de copier un '' | ||
| ====== Remarques finales ====== | ====== Remarques finales ====== | ||
| - | Cette version a du mal à démarrer (il faut compter entre 5 à 10 secondes pour voir apparaitre le splash screen de Metafor. | + | La version |
| + | |||
| + | Ci-dessous, un aperçu d'un run du " | ||
| {{ : | {{ : | ||
| - | On voit ci-dessus | + | On voit qu'il y a un gros travail de la part du système pour démarrer le code (la phase rouge au niveau du CPU). Est-ce dû au 32bits? à XP? à la virtualbox? Il faut que je tire ça au clair. |
| - | Pour info, voici le même graphe avec MUMPS: | + | Pour info, voici le même graphe |
| {{ : | {{ : | ||
| - | On voit bien que Lilia a ajouté une belle chevelure au graphe de CPU, ainsi qu'un tapis rouge tout le long du calcul. | + | On voit bien que Lilia a ajouté une belle chevelure au graphe de CPU, ainsi qu'un tapis rouge tout le long du calcul. A vue de nez (je n'ai pas ouvert les routines), il y a trop d' |
| --- // | --- // | ||
commit/2015/08_12.1439370563.txt.gz · Last modified: (external edit)
