Админам/модераторам -- можете перенести вопрос и ответ в отдельную ветку...
alex18042015:У меня вопрос: с версией 10.0.654.2005 Компилятора Intel идёт стабильная версия OpenMP?
Я уже весь день пытаюсь заставить её заработать:
При выполнении вот этого участка кода происходит неправильное обращение к памяти: причём ВНУТРИ omp_set_dynamic
#if defined (_OPENMP)
omp_set_dynamic(0);
Код рабочий (с Microsoft OpenMP работает нормально) а когда компилируешь компилятором Intel то получается
...Skipped...
Это код внутри библиотеки.
В чём причина?
Могу послать текущую версию Sunset (без параллельной оптимизации)
Вопрос номер 2, если OpenMP не работает, то как быть?
Господа/товарищи,
Пожалуйста, задавайте корректные вопросы, если хотите получить полезные ответы. Если вам кажется, что вы нашли ошибку в программном обеспечении, начните с простого -- приготовьте "a reproducer" -- руководство по воспроизведению ошибки. Если вы жалуйтесь на компилятор или библиотеку, то репродьюсер должен включать в себя:
1. Исходный код маленькой программы, на которой проблема может быть воспроизведена.
2. Командная строка компилятора (и линкера, если он запускался отдельно), с помощью которой происходит построение исполняемого файла. Если компилятор/линкер не печатает свою версию по умолчанию, в командную строку нужно добавить опцию, чтобы версия печаталась. При работе в Windows нужно указать значение переменных окружения INCLUDE, LIB, PATH.
3. Полный вывод компилятора и линкера.
4. Командная строка запуска программы. Если программе нужны какие-либо файлы данных, то нужно приложить эти файлы.
5. Полный вывод программы с описанием, что в этом выводе не так, и как должно быть.
6. Название и версию операционной системы (включая сервис-паки и прочие апдейты ключевых компонентов).
После того, как вы подготовили такое описание, попробуйте выполнить описанные вами шаги. А ещё лучше попростите воспроизвести проблему своего товарища или коллегу. После этого репродьюсер можно посылать в службу поддержки, на форум, и т. д.
Если вы работаете в какой-либо развесистой системе типа MS Visual Studio, всё несколько усложняется. Сначала попытайтесь воспроизвести проблему в командной строке, без IDE/GUI. Если воспроизводится -- отлично. Если нет -- готовьте гуёвый репродьюсер.
После того, как вы справились с простой частью, переходите к более сложным вещам -- например, к дизассемблеру... ;-)
Возвращаясь к вашим вопросам, я *не* могу дать полезный ответ, поскольку не могу воспроизвести проблему. Например, я не знаю интеловского компилятора с версией 10.0.654.2005. (Интеловский компилятор таким образом версию *не* печатает. Интеловский компилятор выводит версию примерно вот так: Intel(R) C++ Compiler for applications running on IA-32, Version 10.0 Beta Build 20061208)
Поэтому вопрос о стабильности OpenMP с версией 10.0.654.2005 интеловского компилятора смысла не имеет. :-( Я мог бы, конечно: сказать, что со *всеми* интеловскими компиляторами поставляется *стабильная* OpenMP, но пользы вам от такого ответа немного. :-(
Резюме: Хотите получить полезный ответ -- задавайте корректный вопрос. ;-)