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 :

profiler les I/O


Sujet :

Fortran

  1. #1
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut profiler les I/O
    Bonjour le forum,
    j'ai déjà fait appel à vous quelques fois, et j'ai une nouvelle question à poser concernant le même sujet; il s'agit d'un gros (pour moi en tous cas) programme en fortran que je suis en train de développer et qui devra tourner assez vite, enfin pour lequel la vitesse d'exécution est critique; j'ai appris à paralléliser avec openmp (l'une des machines sur lesquelles je bosse a quarante proc's), et avec du profilage je sais où porter mes efforts d'amélioration, mais je voudrais maintenant savoir comment se répartissent les temps de calcul, d'accès à la mémoire (si on peut les dissocier) et d'I/O, puisque je crains que celles-ci ne soient importantes en durée, mais je ne sais pas dans quelle proportion, et il me faut le savoir pour prendre des décisons judicieuses.
    Merci de m'aider encore sur ce point,
    David
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

  2. #2
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Re-bonjour, sur un autre forum, celui de linux unbuntu qui est l'OS que j'ai chez moi, on m'a indiqué que je pouvais utiliser time et top que je connaissais déjà un peu, et sar que je ne connaissais même pas de nom, mais maintenant je vais essayer de prévoir ce qu'il me sera possible de faire dans ce domaine demain au boulot (j'ai la chance d'avoir un boulot qui me passionne même le week-end)(au grand désespoir de ma nana, mais là elle dort, ARF)(midi)

    Alors comment faire avec ces outils pour "profiler les I/O" de mon programme ? Celui ci s'appelle rfomp1 et tourne sans arguments puisque je les ai tous mis "en dur" dans le programme pour la durée de sa mise au point; donc je n'aurai qu'à faire ce qui suit : (trois sections séparées par des -------, puis une question finale)

    ----------------------------------------------------------------------
    -Pour utiliser time :
    $ time -f "%E real,%U user,%S sys,%P percent,%I input,%O output" ./rfomp1

    $ export TIME=""%E real,%U user,%S sys,%P percent,%I input,%O output"
    $ time ./rfomp1

    The default format is: %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
    U Total number of CPU-seconds that the process used directly (in user mode), in seconds.
    S Total number of CPU-seconds used by the system on behalf of the process (in kernel mode), in seconds.
    E Elapsed real (wall clock) time used by the process, in [hours:]minutes:seconds.
    P Percentage of the CPU that this job got. This is just user + system times divided by the total running time. It also prints a percentage sign.
    I Number of file system inputs by the process.
    O Number of file system outputs by the process.

    Ok pour ça, mais cela ne me donnera les diverses infos que j'aurai demandées que sur l'exécution totale de mon programme, sans que je puisse savoir précisément quelle partie du programme attend des I/O ou quelle autre calcule à fond.

    ----------------------------------------------------------------------
    -Pour utiliser top, il va se présenter le même genre d'inadéquation à mon besoin réel; soit c'est interactif et ça ne m'intéresse pas, soit ça va dans un fichier que je peux lire à la fin du déroulement de mon programme, mais de la même façon qu'avec time, les info's recueillies concerneront l'intégralité de mon programme, et non pas ses étapes intermédiaires.

    $ top -d delay -n iterations -p pid -b(=Batch)
    $ PID=$(ps -efu dael|grep rfomp1|grep -v grep|awk '{print $2}'
    $ top -d delay -n iterations -p $PID (existe-t'il un moyen de choisir le PPID ?(champ b, le a est le PID))
    2c. CPU States The CPU states are shown in the Summary Area. They are always shown as a percentage and are for the time between now and the last refresh.
    wa -- iowait
    Amount of time the CPU has been waiting for I/O to complete.

    ----------------------------------------------------------------------
    -pour utiliser sar, ici aussi même remarque que pour time.

    sar (-u(=CPU), -P ProcessorN°, [ interval [ count ] ]
    For example, the following gives the system CPU statistics 3 times (with 1 second interval). $ sar 1 3
    $ sar -P all 1 1 (->%iowait)

    ----------------------------------------------------------------------
    -Alors "the big question" se trouve ici : Comment profiler les I/O de mon programme ! J'ai besoin de savoir quels sont les sous-programmes de mon fortran qui attendent après des I/O, et dans quelle proportion, par rapport à ceux qui calculent à fond.
    J'ai mis le verbe "profiler" dans le nom de ce fil de discussion, parce que ce que je recherche est un peu comme le résultat d'un profilage, à savoir être informé après coup, des fonction ou sous-programmes qui utilisent le plus telle ou telle ressource de la machine, sauf que ce qui m'intéresse ici est la "ressource I/O" et non pas la ressource cpu qu'afficherait un profilage de base.
    Merci de m'aider encore si possible,
    David
    ----------------------------------------------------------------------
    PS: Ceci n'est qu'un pense-bête pour me rappeler un truc à faire demain : verif
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

Discussions similaires

  1. Profiler les méthodes de mes controleurs
    Par Khleo dans le forum Zend Framework
    Réponses: 3
    Dernier message: 07/03/2014, 16h15
  2. Les profils les plus demandés cette année
    Par Al_dente dans le forum Emploi
    Réponses: 1
    Dernier message: 28/07/2012, 10h25
  3. Profils les plus recherchés
    Par red210 dans le forum Emploi
    Réponses: 7
    Dernier message: 26/01/2009, 11h24
  4. [tptp] Profiler les méthode java
    Par felix79 dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 17/11/2008, 14h45
  5. [DOS] Récupérer les infos du profil utilisateur
    Par Amélie Ladoque dans le forum Windows
    Réponses: 2
    Dernier message: 13/01/2006, 17h41

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