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

Delphi Discussion :

Optimisation temps de calcul et optimisation mémoire


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut Optimisation temps de calcul et optimisation mémoire
    Bonjour,

    Je travaille actuellement sur le développement d'un logiciel de calcul. Je modélise une structure (composée de nœuds et de liaisons entre ces nœuds), une fois celle-ci terminée, je lance un calcul pour déterminer des déplacements (vecteur X).
    Pour déterminer ces déplacements, ma structure est représentée sous forme matricielle (A matrice creuse symétrique définie positive). Des efforts extérieurs sont appliqués sur ma matrice, ces efforts sont représentés sous la forme d'un vecteur F.
    L'idée est de résoudre le système linéaire : AF = X

    Ce calcul peut-être effectué une centaine de fois.

    Je suis confronté à deux problèmes :
    - un temps de calcul de plusieurs minutes
    - un plantage pour mémoire insuffisante

    Les pistes envisagées pour résoudre ce problème :
    - parallélisme
    - utilisation de la carte graphique pour soulager la mémoire CPU

    Est-ce que ces pistes sont pertinentes?
    En existe-t-il d'autres?

    Environnement utilisé : delphi xe5

    Merci d'avance

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 934
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Utilises-tu une bibliothèque pour les calculs ? Sinon, tu peux regarder du côté de dmath, dont je ne sais si elle peut s'appliquer à ton problème, faute de connaissances en calcul matriciel.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut
    Je n'utilise pas de library. L'algorithme qui permet de résoudre ce système est tiré d'un livre.
    Je ne connaissais pas cette library, je vais jeter un œil dessus.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut
    Les fonctions qu'il a développées sont bien mais ne permettent pas d'exploiter les deux propriétés intéressantes de ma matrice à savoir :
    - elle est creuse : 80% de ses termes sont nuls.
    - symétrique

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 934
    Billets dans le blog
    6
    Par défaut
    Pour le souci de mémoire, es-tu sûr de libérer correctement les ressources ? As-tu du code récursif ? Tu peux sûrement tracer l'usage de la mémoire, si nécessaire, après avoir tenté de détecter les fuites mémoire avec les outils de l'EDI.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut
    Disons que je stocke beaucoup de données pour effectuer ma résolution de système et ensuite pour exploiter ces résultats. J'ai très peu de fuite de mémoire (j'utilise un outil qui me permet de vérifier si certains lors de la fermeture de mon logiciel, des objets ont été mal désalloués).

Discussions similaires

  1. Optimisation Temps de calcul somme.si.ens
    Par damsaga dans le forum Excel
    Réponses: 10
    Dernier message: 26/08/2014, 16h39
  2. Réponses: 6
    Dernier message: 26/05/2010, 09h15
  3. optimisation temps de calcul: appel à DLL
    Par oliv23 dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 11/03/2008, 13h18
  4. optimisation du temps de calcul
    Par deubelte dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/08/2007, 14h31
  5. optimisation du temps de calcul
    Par mhamedbj dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2007, 16h08

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