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 :

OpenMp : résultats différents avec prog. parallélisé


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut OpenMp : résultats différents avec prog. parallélisé
    Bonjour,
    Je parallélise un programme à l'aide d'OpenMP.
    Mon programme initial comporte des boucles imbriquées et calcule un maximum.
    J'ai donc parallélisé la boucle la plus externe afin d'accélérer les temps de calculs avec la directive !$OMP DO .
    J'obtiens en terme de temps de calcul de bon résultats qund je parallélise.
    Par contre il arrive parfois (notamment quand je lance le programme parallélisé plusieurs fois de suite) d'obtenir une mauvaise valeur du maximum.
    Par exemple la valeur attendu est 400 et j'obtiens 37.4563176...
    Quelqu'un aurait il une explication à cette imprécision produite par le programme parallélisé?
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    Bonjour,
    Je crois que j'ai résolu mon problème.
    En fait, ma boucle que je parallélisais est dans une subroutine.
    Je définissais alors ma zone parallèle à l'intérieur de ma subroutine.
    J'ai donc changé de place les directives !$OMP PARALLEL et !$OMP END PARALLEL qui étaient dans ma subroutine.
    Maintenant, ces directives encadrent l'appel de la subroutine.
    Après plusieurs tests, j'obtiens des résultats corrects.

    Quelqu'un peut il m'expliquer ce que cela change?
    Faut-il toujours définir sa zone parallèle hors d'une subroutine?
    Merci d'avance

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

Discussions similaires

  1. [SQL] Résultat de sélection différent avec limit
    Par JuViva dans le forum Requêtes
    Réponses: 0
    Dernier message: 20/02/2012, 10h58
  2. [PHP 5.3] Résultat différent avec IE8
    Par pierrot10 dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2011, 15h47
  3. [MySQL] Résultats différents avec mysql_query() et dans PhpMyAdmin
    Par Hitchou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/02/2010, 11h37
  4. 2 executions d'un programe C graphique avec SDL me donne des résultats différents
    Par Brin d'if dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 03/12/2007, 10h21
  5. [W3C] Résultats différents avec IE ou FF
    Par Linoa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/11/2005, 13h45

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