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

Boost C++ Discussion :

ublas excessivement lent


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut ublas excessivement lent
    Bonjour,

    je suis en train de réaliser un algorithme contraint par le temps (10s).
    J'ai tout d'abord fait une version octave, qui run excessivement vite : voici la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function [ff, b] = solveW(k, X, Y)
      onesVector(1:size(k,1)) = 1;
      C = 10^(-3);
      matrix = [
        k'*k+C*eye(size(k,1)) k'*onesVector';
        onesVector*k length(onesVector)
      ];
     
      v=[
        k'*Y';
        sum(Y)
      ];
      a = matrix\v;
      ff = a(1:length(X(1,:)));
      b = a(length(X(1,:))+1);
    end
    k est une matrice de taille 500x500 (symétrique def positive)
    x et y des vecteurs 500.
    les deux particularités sont la creation de la matrice matrix, ainsi que l'inversion.
    runner cette fonction prend a peu pres 0.4s.

    lorsque j'enquille beaucoup beaucoup plus simple avec ublas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      ublas::compressed_matrix<ScalarType> matrix(M+1, M+1);
      ublas::vector<ScalarType> ones(M,1);
      ublas::vector<ScalarType> lastCol(M);
      ublas::vector<ScalarType> B(M+1);
      ublas::vector<ScalarType> solved(M+1);
    est quasi instantané (10^-5 s)
    mais un simple produit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ublas::compressed_matrix<ScalarType> ktk = prod(k,k);
    prend 8s...

    ya til quelquechose que je fais mal?

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Par défaut
    Citation Envoyé par galerien69 Voir le message
    mais un simple produit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ublas::compressed_matrix<ScalarType> ktk = prod(k,k);
    prend 8s...
    As-tu défini NDEBUG ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    oui, NDEBUG est défini.
    Dans le doute, je vais voir si vienna_cl viendrait pas merder un peu, j'ai pas pensé à cette possibilité.

  4. #4
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    C'est con hein, mais tu compiles bien -O2 minimum? (le nombre de fois où on a eu des retours sur des lenteurs sur des ET parce que la personne compiler sans optimisation... je préfère vérifier)

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'est con hein, mais tu compiles bien -O2 minimum
    bien sûr que non

    donc du coup, je compile en O3, et je descends à 3.4 secondes, mais bon, c'est beaucoup trop.

Discussions similaires

  1. Démarrage excessivement lent
    Par papillange dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 22/08/2008, 11h59
  2. boost::ublas étrangement lent.
    Par Bakura dans le forum Boost
    Réponses: 25
    Dernier message: 03/08/2007, 11h57
  3. cgi excessivement lent !!!
    Par Leishmaniose dans le forum Web
    Réponses: 2
    Dernier message: 17/08/2005, 15h41
  4. [ Eclipse3.0 ] Probleme: Eclipse excessivement lent
    Par mcyrb dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 09/08/2005, 18h31
  5. BDE lent sur XP PRO
    Par Daniel Nespoulous dans le forum Bases de données
    Réponses: 4
    Dernier message: 11/06/2004, 14h12

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