// ConsoleApplication1.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include "pch.h"
#include <iostream>
#include <omp.h>
/*
This source code can be downloaded from supercomputingblog.com
The purpose of this code is to ensure that OpenMP is working and running on multiple threads.
*/
int main(int argc, char* argv[])
{
// This statement should only print once
printf("Starting Program!\n");
#pragma omp parallel
{
// This statement will run on each thread.
// If there are 4 threads, this will execute 4 times in total
printf("Running on multiple threads\n");
}
// We're out of the parallelized secion.
// Therefor, this should execute only once
printf("Finished!\n");
return 0;
}
Разочаровавшись в моих предыдущих попытках использовать openmp, и он работал только в одном потоке, я решил протестировать его, используя приведенный выше код.
Ожидаемый вывод должен выводить «Выполнение на нескольких потоках» несколько раз в зависимости от количества используемых потоков (я также пытался указать #pragma omp parallel num_threads (4)), но он по-прежнему печатается только один раз.
В свойствах -> C / C ++ -> Язык Open MP включен. Режим соответствия установлен на Нет .
Дополнительная информация
Я строю свой проект, затем использую cmd для его запуска с помощью теста (тест ConsoleApplication1)
My Visual studio: VS2017 Community 15.9.14
Мой процессор Intel® Core (TM) i & -4860HQ CPU @ 2,40 ГГц