CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] RDV avec OpenMP

john-lock
john-lock
Niveau 6
12 novembre 2013 à 14:43:35

Bonjour,

J'ai un exercice à faire et je bloque sur une partie de l'éxo.
Je possède n threads qui sont lancés en même avec OpenMP. Il sont numérotés de 1 à n.
Chaque thread correspond à un coureur qui appartient à une équipe. Il y a n_teams et n_runners par équipe soit n coureurs au total.

Je dois mettre en place une barrière de synchro entre les threads. Mais uniquement entre les threads d'une même équipe

Pour le moment j'ai fais ça :
http://pastebin.com/UT4MrB8U

La solution marche mais je voudrais savoir si il n'y a pas mieux, c'est à dire sans utiliser le while ?

Merci :)

godrik
godrik
Niveau 30
12 novembre 2013 à 16:34:09

L'attente active c'est mal. Le mieux ca serait de pouvoir utiliser openmp barrier sur un grouoe thread. Mais pour faire ca, je ne vois pas de solution facil. Peut etre que tu peux faire du nested parralelism pour couper tes threads en groupes. Mais globalement c'est la merde. Openmp 4 introduit la notion de team qui pourrait etre utile.

J'implementerai la barriere au dessus des conditions posix.

[-Shana-]
[-Shana-]
Niveau 10
12 novembre 2013 à 17:02:48

Il y a n_teams et n_runners par équipe soit n coureurs au total.

:d) C'est pas plutôt un truc du genre : x_teams y_runners par équipe soit z coureurs au total ? :( .

ça n'aide en rien, mais ça m'a frustré cette phrase.

john-lock
john-lock
Niveau 6
13 novembre 2013 à 16:02:14

@Shana : Oui vu comme ça la phrase parait étrange , mais c'était pour utiliser les meme noms de variables que dans le code.

@godrik : pour le moment j'ai réussi a retirer le while en utilisant des sémaphores. Je vais regarder d'un peu plus près ce qu'est le nested et voir c'est quoi le mieux.
Merci à toi :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment