Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2014:09_04

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:2014:09_04 [2014/09/04 16:56] papeleuxcommit:2014:09_04 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ===== Commit 2014-09-04 ===== ===== Commit 2014-09-04 =====
-  * Solveurs symmétriques+  * Solveurs symétriques
   * divers   * divers
  
-===== Solveurs symmétriques =====+===== Solveurs symétriques =====
   * Ayant noté qu'on essayait de résoudre des problèmes aux valeurs propres sur un système non symétrique, j'ai commencé par permettre la génération (en calculant la moyenne des termes potentiellement non symmétriques de la matrice de raideur, d'autres méthodes pourront être envisagées le cas échéant dans le futur...), le stoquage, la factorisation de systèmes d'équation symmétriques (au format skyline ou CSR)   * Ayant noté qu'on essayait de résoudre des problèmes aux valeurs propres sur un système non symétrique, j'ai commencé par permettre la génération (en calculant la moyenne des termes potentiellement non symmétriques de la matrice de raideur, d'autres méthodes pourront être envisagées le cas échéant dans le futur...), le stoquage, la factorisation de systèmes d'équation symmétriques (au format skyline ou CSR)
   * Afin de mieux coller à ce qu'elle contient la classe ''DSSMatrix'' a été renommée ''CSRMatrix'' : classe gérant le stockage d'une matrice au format CSR. Celle-ci pouvant être symétrique, structurellement symétrique ou non symétrique. Seule les 2 premières sont à ce jour utilisées dans Metafor. Plus dinfo sur le format CSR et son utilisation au travers des MKL [[https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mklman/GUID-9FCEB1C4-670D-4738-81D2-F378013412B0.htm | ici ]].   * Afin de mieux coller à ce qu'elle contient la classe ''DSSMatrix'' a été renommée ''CSRMatrix'' : classe gérant le stockage d'une matrice au format CSR. Celle-ci pouvant être symétrique, structurellement symétrique ou non symétrique. Seule les 2 premières sont à ce jour utilisées dans Metafor. Plus dinfo sur le format CSR et son utilisation au travers des MKL [[https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mklman/GUID-9FCEB1C4-670D-4738-81D2-F378013412B0.htm | ici ]].
Line 10: Line 10:
 |< 100% 10em - - - >| |< 100% 10em - - - >|
 ^                  ^    DSS    Sym DSS    Skyline  ^ Sym Skyline ^ ^                  ^    DSS    Sym DSS    Skyline  ^ Sym Skyline ^
-| BuildK            17.261  |   14.463   |   14.108  |   13.637    +| BuildK            17.2    |   14.5     |   13.9    |   13.6      
-| SolveK            10.498  |    6.484   |   31.402  |   26.139    |+| SolveK            10.8    |    6.7     |   25.0    |   20.6      |
 | TSC-STP          |   93       93         93      |   93        | | TSC-STP          |   93       93         93      |   93        |
 | TSC-ITE          |  213      211        213      |  211        |  | TSC-ITE          |  213      211        213      |  211        | 
-| Memory            320047  |   162737   |  2341006  |  1170503    | +| Memory            320047  |   162737   |  2057994  |  1028997    | 
-| Memory Ratio      1.08 %  |    0.55 %  |    7.95 % |    3.97 %   |+| Memory Ratio      1.09 %  |    0.55 %  |   6.99  |    3.49 %   |
   * Utilisation : ''metafor.getSolverManager().setSymmetric(True)''   * Utilisation : ''metafor.getSolverManager().setSymmetric(True)''
-  * Pas testé sur le solveur iteratif (ca pourrait le faire & permettre d'utiliser d'autres solveurs genre GC, ... dixit Romain)+  * Pas implémenté sur le solveur iteratif (ISSolver). Nécessite de recoder le solver... Mais l'utilisation de la matrice de raideur symétrique permettrait d'utiliser d'autres solveurs iteratifs genre GC, ... (dixit Romain) to do ...
  
 ===== ValuesManager ===== ===== ValuesManager =====
Line 25: Line 25:
   * Ajout d'une fonction Blas::getNumThreads()   * Ajout d'une fonction Blas::getNumThreads()
   * Toolbox.Utilities :    * Toolbox.Utilities : 
-    * _numTasks   = 1             # nombre de taches à tourner en // (opti)+    * _numTasks   = 1     # nombre de taches à tourner en meme temps  (opti)
     * ajout des fonctions d'interface : getNumTasks() / setNumTasks(numTasks)     * ajout des fonctions d'interface : getNumTasks() / setNumTasks(numTasks)
     * suppression de la fonction recover (doublon de rebuildAsciiFromV())     * suppression de la fonction recover (doublon de rebuildAsciiFromV())
Line 38: Line 38:
   * ajout du setNbTasks(nbTasks)   * ajout du setNbTasks(nbTasks)
    
-<note >+<note>
 N'oubliez pas d'updater vos linuxBin ... N'oubliez pas d'updater vos linuxBin ...
 </note>  </note> 
commit/2014/09_04.1409842568.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki