Si vous disposez de multi-processeurs sur votre machine vous pouvez utiliser l'api OPEN MP pour paralléliser vos programmes en C++
L'api OPENMP est intégrée dans le compilateur C/C++ de Visual Studio dans les versions Professional et +
Créez un nouveau projet C++ ( Win32 Console Application ) que vous appelez : helloopenmp
Copiez le code suivant dans le fichier helloopenmp.cpp ( point d'entrée de votre application )
#include "stdafx.h"
#include < omp.h >
int _tmain(int argc, _TCHAR* argv[])
{
#pragma omp parallel
{
printf("Hello, world.\n");
}
getchar();
return 0;
}
La directive #pragma omp parallel va lancer x threads ( x correspond au nombre de coeurs de votre processeur ). Dans mon cas ( Core 2 Duo ) donc 2 threads vont être lancés.
Pour activer la prise en charge de ces directives par le compilateur vous devez aller dans les options de compilation du projet :
Project -> helloopenmp Properties -> Configuration Properties -> C / C++ -> Command Line et dans Additional Options ajoutez l'aoption : /openmp
Maintenant démarrez votre programme, voici le résultat obtenu :
L'api OPENMP est intégrée dans le compilateur C/C++ de Visual Studio dans les versions Professional et +
Créez un nouveau projet C++ ( Win32 Console Application ) que vous appelez : helloopenmp
Copiez le code suivant dans le fichier helloopenmp.cpp ( point d'entrée de votre application )
#include "stdafx.h"
#include < omp.h >
int _tmain(int argc, _TCHAR* argv[])
{
#pragma omp parallel
{
printf("Hello, world.\n");
}
getchar();
return 0;
}
La directive #pragma omp parallel va lancer x threads ( x correspond au nombre de coeurs de votre processeur ). Dans mon cas ( Core 2 Duo ) donc 2 threads vont être lancés.
Pour activer la prise en charge de ces directives par le compilateur vous devez aller dans les options de compilation du projet :
Project -> helloopenmp Properties -> Configuration Properties -> C / C++ -> Command Line et dans Additional Options ajoutez l'aoption : /openmp
Maintenant démarrez votre programme, voici le résultat obtenu :
































