#include <omp.h>
...
int target_thread_num = 4;
omp_set_num_threads(target_thread_num);
unsigned long times[target_thread_num];
// Initialize all the times
#pragma omp parallel
{
int thread_id = omp_get_thread_num();
times[thread_id] = start_time();
std::cout << "Thread number: " << omp_get_thread_num() << endl;
times[thread_id] = end_time();
}
...
Очевидно, вам не нужно предоставлять две функции таймера, но это суть. Функции OMP довольно понятны. Также убедитесь, что ваша среда настроена правильно и что вы компилируете с соответствующими механизмами. опция g ++ это -fopenmp. В Visual Studio перейдите в настройки проекта, C ++, Язык и включите «Поддержка OpenMP».