IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

[PERF] matmul / transpose


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut [PERF] matmul / transpose
    Bonjour,

    Toujours à propos de l'optimisation de performance de programme fortran, je me posais la question de l'efficacité des routine "matmul" et "transpose" sur de petites matrices (3x3).
    Plus généralement, matmul, se base-t-elle sur du blas 3 ?

    Dans un précédent message, j'ai déjà pu observer la très mauvaise performance des boucles implicites sur les tableaux de petites tailles (dim=3). Il valait mieux dans ce cas, laisser les boucles explicitement et permettre au compilateur de faire son travail en les déroulant. J'obtenais un gain substantiel.

    Quelqu'un a déjà essayé de recoder à la main ces routines ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut
    Déjà un début de réponse.
    Je viens de m'apercevoir que matmul se base sur blas car elle appelle dgemv. Par contre, là ou le bat blesse c'est qu'elle est obligé de passer par une allocation dynamique en appelant l'appel système malloc (de même pour transpose).
    Donc si c'est routine est appelé un très grand nombre de fois pour une petite matrice, je pense qu'on passera plus de temps à allouer, désallouer de l'espace mémoire qu'à faire du calcul...

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Au delà de tes constats, il faut être prudent avec de telles conclusions.

    Rien n'indique que tu as fait tes analyses sur plus d'un compilateur.

    Les premières versions des compilateurs F90 étaient généralement inefficaces dans le traitement des boucles implicites. Aujourd'hui, plusieurs compilateurs produisent exactement le même objet pour une boucle implicite que pour une boucle explicite.

    Les programmes mathématiques ont très souvent une espérance de vie supérieure à celle du duo architecture / version de compilateur. Il faut donc être prudent avant de rendre un code source moins lisible en voulant l'optimiser.

Discussions similaires

  1. Probleme de perf avec File::Find::name;
    Par Ludo167 dans le forum Modules
    Réponses: 6
    Dernier message: 14/07/2004, 11h31
  2. Pb de perf avec upper
    Par superfly dans le forum Administration
    Réponses: 7
    Dernier message: 22/03/2004, 17h08
  3. [DEB.] - Transposer une table SQL en XML SCHEMA ???
    Par oulahoup dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2003, 15h11
  4. Outils linux pour surveiller les perf d'un serveur ?
    Par MASSAKA dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 22/10/2002, 10h40
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo