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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Ok pour les messages mais comme je prend un peu de temps a répondre ca me deconnecte a chaque fois et je suis obligée de tout réecrire c'est super chiant je ne sais pas d'où ça vient et c'est pour ça que je fais ça...désolée.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Pour le changement de compilateur j'y avais déjà pensé mais je n'ai pas d'autorisation pour le faire donc en gros je fais comme je peux avec ce que j'ai...
    En ce qui concerne mon programme, la différence avec l'ancienne version c'est (modulo deux ou trois petites modifications) juste l'ajout du pas de temps adaptatif.
    Mon algo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for nb=1..nbreessai_max
    if err<epsilon
    alors i=i+1
    sinon
    on recommence et nb=nb+1
     
    si nb>nbreessai_max
    alors je diverge 
    et t=t/2
    et je recommence
    En gros c'est ce que j'ai codé et c'est pour ça que je me dit que a priori ça ne devrait pas prendre plus de temps.

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    Donc quand tu parlais de maillage adaptatif, tu parlais de temps, et non de maillage spatial.

    En effet, si ça converge dans la version précédente du code, avec les même critères de convergence, ça ne devrai pas adapter le pas de temps dans l'autre version du code. Donc ça devrait aller aussi vite (si on ne prend pas en compte les conditions sur le nombre d'essais et sur la convergence).

    Je ne suis pas convaincu par contre que ça puisse aller plus vite...

    Il est possible que la conversion se passe différement dans les deux cas, comme le dit genteur slayer. Je ne connait pas cet outil.

    En tout cas, tu devrait tenter le profiling. ça peut valoir le coup. C'est quoi le compilateur que tu es sensée utiliser pour compiler du fortran ? ça peut valoir le coup de tenter la compilation sur une autre machine avec g95 et de comparer...

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    J'ai essayé le profiling mais tu m'as dit que ça doit créer un fichier .out que je ne retrouve pas.

    Le compilateur c'est f77 si je ne me trompe pas.

    Je pense qu'un profiling serrait effectivement idéal, je vais essayé de faire des recherche mais si tu trouve quelque chose d'interessant, ce serrait bien volontié..

    Je te remercie.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    gregory2526, juste une petite précision sur cette traduction, ce qu'il faut savoir c'est que mon programme Fortran, et je viens de le découvrir, tourne sur pc par exemple, a priori (sachant que je travaille sur hp) il doit s'agir d'une sorte d'imcompatibilité (je suppose) entre mon compilateur et hp, d'ou le traduction, autre chose la perte de temps est négligeable.

    Voilà, c'est un peu plus précis et juste comme ça.

  6. #26
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    a propos du profiling, je n'avais pas les sites internet sous les yeux. Les informations que je t'ai donné étaient de souvenir depuis assez tard hiers soir.
    Une petite recherche m'a permis de retrouver un document qui m'avait l'air assez bien fait :
    http://spe.univ-corse.fr/bernardiweb...vers/gprof.pdf

    effectivement, on doit trouver un fichier gmon.out. Mais comme je n'ai pas essayé moi même, je ne peux t'en dire plus pour le moment.

    En ce qui concerne le système, il est possible que ça joue. J'ai moi même eu des différences importantes dans un vieux code entre linux et windows au moment de l'execution (sur la même machine PC), au niveau des résultats. Donc pourquoi pas au niveau du temps d'execution. Je ne saurais pas trop dire.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Merci pour tes réponses, aujourd hui j'ai pas eut le temps de réessayer le profiling mais demain certainement je te dirai ça.

    Merci.

  8. #28
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    je viens de tester sur un code que j'utilise.
    je t'indique la procédure. (faite sur cygwin)

    1) g77 -pg -o source.exe source.f

    --> j'obtient mon executable

    2) ./source.exe

    --> a la fin de l'execution (qui doit se terminer normalement sinon ça ne fonctionne pas), j'ai obtenu un fichier "gmon.out"

    3) gprof source.exe gmon.out > sortie.txt

    --> j'ai obtenu un fichier contenant des informations sur le déroulement de mon programme. Je t'en donne des extraits :
    Flat profile:

    Each sample counts as 0.01 seconds.
    % cumulative self self total
    time seconds seconds calls ms/call ms/call name
    96.43 0.81 0.81 1 810.00 810.00 zerocl_
    1.19 0.82 0.01 1 10.00 830.00 MAIN__
    1.19 0.83 0.01 1 10.00 10.00 inputd_
    1.19 0.84 0.01 f_open
    0.00 0.84 0.00 23 0.00 0.00 rnumck_
    0.00 0.84 0.00 16 0.00 0.00 dtin02_
    [...]


    Call graph (explanation follows)


    granularity: each sample hit covers 4 byte(s) for 1.19% of 0.84 seconds

    index % time self children called name
    0.01 0.82 1/1 main [2]
    [1] 98.8 0.01 0.82 1 MAIN__ [1]
    0.81 0.00 1/1 zerocl_ [3]
    0.00 0.01 1/1 prepar_ [5]
    -----------------------------------------------
    <spontaneous>
    [2] 98.8 0.00 0.83 main [2]
    0.01 0.82 1/1 MAIN__ [1]
    -----------------------------------------------
    0.81 0.00 1/1 MAIN__ [1]
    [3] 96.4 0.81 0.00 1 zerocl_ [3]
    -----------------------------------------------
    [...]
    Bon, j'ai fait tourner mon code sur un tout petit fichier de donnée, l'execution a durée une ou deux secondes. Mais je pense que ça doit être plus pertinant sur un gros calcul.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Merci, c'est super ton truc ça marche!

    Par contre (ça doit être la commande équivalente sur unix) moi je fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -> prof run mon.out > sortie.txt
    avec run mon executable créer avec un makefile.

    Je te remercie.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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