Параллельное программирование C++ и OpenMP

Начал изучать параллельное программирование. Для начала пытаюсь научиться как разными способами задавать количество потоков. Два из трех возможных способов у меня получились, а именно:

  1. Опция num_threads() директивы pragma omp parallel
  2. Функция 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, выводится один.


Ответы (0 шт):