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 :

Temps de calcul en Fortran


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Par défaut Temps de calcul en Fortran
    Bonjour,
    j'ai un problème, j'avais un code écrit en Fortran donc je devais améliorer, en autre, le temps de calcul. Je l'ai modifié, mais horreur! les temps de calculs sont plus long. Le truc c'est que je suis assez sûre de mon coup, en gros, sur un problème numérique j'ai fait un maillage adaptatif, donc ça devrait prendre moins de temps!!!
    J'ai fait tourner mon code sur un jeu de données relativement triviales, donc sur lequel le maillage n'est pas modifié, mais horreur! mon programme est toujours plus lent que l'ancienne version...
    Question: je voudrais savoir quelle est la fonction en fortran 77 ou 90 qui calcule le temps?
    Ensuite, juste pour information, le temps de calcul je l'ai en exécutant la commande "timex run", est ce que l'erreur peut venir de là?

    Pour toute autre suggestion je suis ouverte car j'avoue que je ne sais plus où chercher...

    Merci.

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut Temps de calcul en Fortran
    Salut.

    Essaie CPU_TIME ou DATE_AND_TIME

    A part ça, ma longue expérience m'a appris qu'on perdait souvent beaucoup plus de temps CPU avec des algorithmes de calcul mal choisis que pour des questions de programmation.

    Bonne chance
    Jean-Marc Blanc

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Par défaut
    J ai essayé CPU_TIME et DATE_AND_TIME et aucun des deux ne marchent.

    J ai écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    call DATE_AND_TIME(t1)
    ......
    ......
    call  DATE_AND_TIME(t2)
    time = t2 - t1
    Peut etre que l erreur vient de la.
    Sinon je n arrive pas à exécuter mon programme en Fortran, donc je le traduit en C et je l'éxecute donc ca peut peut etre venir de la aussi.

    En ce qui concerne mon algorithme je n ai rien inventé c est un algorithme courant pour un maillage adaptatif.

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut Temps de calcul en Fortran
    Re-Salut!

    Je n'ai pas ma documentation sous la main, mais, si je me souviens bien, la routine DATE_AND_TIME prend plusieurs paramètres. Le mieux est d'aller voir dans l'aide en ligne de ton Fortran.

    D'autre part, souviens-toi qu'un algorithme courant est souvent, comme son nom l'indique, un algorithme qui se traine.

    Salutations
    Jean-Marc Blanc

  5. #5
    Membre confirmé Avatar de phy4me
    Inscrit en
    Octobre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 116
    Par défaut
    Salut
    Tu peux utiliser la fonction ETIME
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            T1 = ETIME(TARRAY)
    C
    .....
    .....   INSTRUCTIONS
    .....	
    C
    	T2 = ETIME(TARRAY) - T1
    	WRITE(*,*) 'TEMPS ECOULE  : ',T2

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut Temps de calcul en Fortran
    Salut.

    Fais très attention, car la notion de temps de calcul est devenue ambiguë depuis que les ordinateurs sont devenus multitâches: il faut distinguer

    1) le temps écoulé (elapsed time) qui est la différence entre l'heure à la fin et au début de ton calcul, et qui dépend des autres tâches que le processeur traite simultanément; pour obtenir une mesure reproductible, il faut redémarrer la machine avant chaque essai et désactiver toutes les tâches intermittentes, en particulier ton antivirus (n'oublie pas de le réactiver après!);

    2) le temps processeur (CPU time) qui indique pendant combien de temps le processeur a travaillé vraiment pour ton problème; je ne sais franchement pas ce qui se passe si tu travailles avec une machine avec plusieurs processeurs.

    D'autres difficultés peuvent survenir si tu travailles sous Windows et si tu assignes dynamiquement les tableaux (ce que j'essaie toujours d'éviter). Je ne peux pas t'en dire plus, mais j'ai observé des phénomènes étranges.

    En espérant ne pas t'avoir trop découragé.
    Jean-Marc Blanc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Fortran 90] Le temps de calcul d'un code
    Par driss80 dans le forum Fortran
    Réponses: 17
    Dernier message: 19/11/2007, 11h03
  2. Temps de calcul d'un algo
    Par Rémiz dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 23/12/2005, 13h52
  3. temps de calcul sius VC++ !!
    Par Axiome dans le forum MFC
    Réponses: 16
    Dernier message: 13/12/2005, 09h57
  4. Temps de calcul avec deux écrans
    Par Shaga dans le forum OpenGL
    Réponses: 2
    Dernier message: 14/11/2005, 09h24
  5. temps de calculs extremement long !!
    Par salseropom dans le forum C++
    Réponses: 9
    Dernier message: 19/01/2005, 20h12

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