UN PROGRAMME QUI UTILISE OPEN_MP POUR TROUVER DES NOMBRE PREMIER.

Messages postés
130
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
18 août 2008
- - Dernière réponse : lynxtyle
Messages postés
79
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
31 octobre 2011
- 29 avril 2011 à 16:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40808-un-programme-qui-utilise-open-mp-pour-trouver-des-nombre-premier

Afficher la suite 
NairodDorian
Messages postés
130
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
18 août 2008
-
Bonjour,

Quelle est la différence entre la techno OMP et l'utilisation des fonctions MultiThread de l'API Windows ?

Cordialement,
yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
17 -
Apparemment le thread se crée et se ferme tout seul.
Sympa ce code.
A plus.
SuntzuMaster
Messages postés
1
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
24 décembre 2006
-
OPENMP est une techno qui permet d'utiliser des threads sana avoir a connaitre L'API Windows.
Un programme qui utilise OPENMP est compatible avec d'autre plateformes UNIX,...
pour plus d'info openmp.org.
lynxtyle
Messages postés
79
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
31 octobre 2011
2 -
vous êtes un peu à côté : c'est pas du multithread à proprement parler... mais du Symmetric MultiProcessing c'est à dire du multithread mais symétrique (pour généraliser tout les thread font le même calcul au même moment mais sur une zone mémoire différente... donc qu'un thread par coeur maxi...)
La différence avec du multithread que procure l'API Windows? un gain plus qu'important de vitesse et une certaine facilité à programmer sur une grappe... rien que ça! Par contre il ne peut pas être utilisé dans bon nombre de cas de multithread : inutile d'espérer l'utiliser pour programmer un serveur multithread... c'est juste bon pour du calcul scientifique... et encore ces calculs doivent répondre à quelques exigences!

Pour finir je dis bravo à SuntzuMaster pour cette source car je dois dire qu'il y a peu de personne qui maîtrise le SMP

Sinon juste un petite remarque : utilise plutot "clock()" (que tu peux pourquoi pas divisé par "CLOCKS_PER_SEC" pour avoir le résultat en seconde) afin de donner le temps processuce d'exécution du programme (l'avantage c'est que tu prend en compte les temps d'allocation etc... ce qui permet d'être plus juste sur le temps réel d'exécution et surtout ça fait des variables en mémoire en moins... je sais je suis un rapia^^)

Enfin pour ce qui souhaite approfondir leur connaissances en SMP intêressez vous en plus de OPENMP à MPI (qui aurai était ici encore plus puissant)
hassansaib
Messages postés
2
Date d'inscription
jeudi 7 avril 2011
Statut
Membre
Dernière intervention
28 avril 2011
-
pour quoi tu a fais la directive atomic