начал изучать параллельное программирование, подключил API OpenMP в проект C++. Добавлением кода
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fopenmp")
в файл CMakeLists.txt Далее пытался изменить значение переменной OMP_NUM_THREADS через export, а именно
#include <iostream>
#include <omp.h>
export OMP_NUM_THREADS = 15;
int main() {
#pragma omp parallel
printf("Hello World!\n");
return 0;
}
Но программа выдаёт ошибку, не могли бы вы подсказать с чем это связано? Знаю, что можно ещё 2-мя другими способами, через опцию num_threads и функцию omp_set_num_threads, но необходимо сделать именно так. Ошибку выкидывает следующую:
[ 50%] Building CXX object CMakeFiles/Lab1.dir/main.cpp.obj
C:\Users\Home\Desktop\ParallelProgramming\Lab1\Lab1\main.cpp:3:1: warning: keyword 'export' not implemented, and will be ignored
export OMP_NUM_THREADS = 15;
^~~~~~
C:\Users\Home\Desktop\ParallelProgramming\Lab1\Lab1\main.cpp:3:8: error: 'OMP_NUM_THREADS' does not name a type
export OMP_NUM_THREADS = 15;
^~~~~~~~~~~~~~~
Среда для разработки используется следующая JetBrains CLion 2018.2.3
В зависимости от операционной системы, Вы можете использовать либо системный вызов putenv() для POSIX (юниксоподобных) систем с устаревшими системами/компиляторами, либо setenv() с более новыми, либо _putenv(), _wputenv() (или безопасные аналоги последних: _putenv_s(), _wputenv_s()) для MS Windows.
Но скорее всего, в задании подразумевалось установить переменную окружения до старта Вашей программы. Например, если Вы работаете в bash под Linux, то можно для запуска программы в шелл сначала выполнить команду export OMP_NUM_THREADS=15, а уже после этого запускать саму программу. Ну, или можно сделать скрипт из пары этих строк.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости