vmXeon
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте, коллеги! Пишу со следующим вопросом, т.к. в соседних темах последняя активность по теме Intel C++ отмечалась давно, а в тему про Fortran лезть не рискнул. Содержание вопроса: на машине имеется Intel C++ 16.0 Compiler (в составе Intel Parallel Studio XE 2016 Update 4), интегрированный в Visual Studio 2013. Для того, чтобы проверить, какой стандарт OpenMP используется компилятором, собирается следующий код: #include <iostream> #include <omp.h> int main() { #ifdef _OPENMP std::cout << _OPENMP << std::endl; //выводит версию OpenMP #endif return 0; } В конфигурации Debug x64 выводится строка "201307", что соответствует стандарту OpenMP 4.0, но когда переключаюсь в Release x64, выводится "200203", что соответствует стандарту OpenMP 2.0. Предполагаю, что причина может заключаться в оптимизациях, присущих Release-конфигурации. Но возможно ли как-нибудь подружить Release и использование "нового" OpenMP? Буду рад любым идеям и указаниям. Спасибо! |