Параллельное программирование C++ и OpenMP
Начал изучать параллельное программирование. Для начала пытаюсь научиться как разными способами задавать количество потоков. Два из трех возможных способов у меня получились, а именно:
- Опция num_threads() директивы pragma omp parallel
- Функция set_num_threads()
3ий способ с помощью переменной окружения OMP_NUM_THREADS, как его использовать? Так же вопрос, почему pragma omp parallel игнорируется при компиляции через терминал?
Вот C++ код:
#include <omp.h>
#include <iostream>
using namespace std;
int main()
{
#pragma omp parallel num_threads(2)
{
cout << "Hello World" << std::endl;
}
return 0;
}
Компилировал через терминал командой - g++ -o Filename Filename.cpp --> Filename.exe
Однако вместо ожидаемых двух Hello World, выводится один.