Simple exemple en utilisant OpenMp
Bonjour,
Je suis débutante en OpenMp. Je veux développer un simple programme qui utilise OpenMp. EN fait, je veux lancer 4 threads qui fonctionnent en même temps.
J'ai un PC avec i3 donc normalement J'ai 4 core et je peux avoir 4 threads qui fonctionnent en même temps.
Voilà le code que j'ai utilisé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main (int argc, char *argv[])
{
int nthreads, tid;
int threads = 100;
//int id = 100;
int id ;
omp_set_num_threads(4);
#pragma omp parallel(4)
{
threads = omp_get_num_threads();
id = omp_get_thread_num();
std::cout << "hello from thread: "<<id << "out of "<<std::endl;
std::cout << threads <<std::endl;
}
system("pause");
return 0;
} |
Le problème est que j'ai un seul thread qui affiche un résultat.
J'ai pas compris les raisons. Je travaille sous windows en utilisant VS 2010