#c #openmp #icc
#c #openmp #icc
Вопрос:
Я пытаюсь скомпилировать простой код, используя openmp.
Вот код (файл test.cpp ):
int main()
{
double a[100];
#pragma omp parallel for
for (int i = 0; i < 100; i) {
a[i] = i;
}
return 0;
}
Я компилирую, используя следующую команду:
icpc -openmp test.cpp
результат:
icpc: command line error: option '-openmp' not supported
ОС Debian X64
Не могли бы вы мне помочь, пожалуйста?
Обновить:
использование -fopenmp выдает ту же ошибку.
Отсюда: https://software.intel.com/en-us/node/522690
Примеры командной строки, Linux* Чтобы скомпилировать и связать (собрать) все приложение одной командой с использованием библиотек Intel OpenMP, укажите следующую команду компилятора Intel® C на платформах Linux *:
Источник C
icc -openmp привет.c
Исходный код C
icpc -openmp hello.cpp
UPDATE2:
-qopenmp выдает ту же ошибку. Я установил intel system studio и использую компилятор из /opt/intel/bin . В PATH нет ничего, связанного с intel. Возможно, мне следует добавить что-то в PATH, чтобы intel распознала, что она может использовать openmp. Я пробовал добавлять только в PATH /opt/intel /bin .
Комментарии:
1. Смотрите мой обновленный ответ.
2. Вы случайно не используете кросс-компилятор, предназначенный для встроенного оборудования?
Ответ №1:
-openmp
раньше это была опция для включения поддержки OpenMP в более старых версиях компилятора Intel. В более новых версиях опция есть -qopenmp
.
В любом случае, даже самая новая версия (17.0) принимает -openmp
:
$ icpc -openmp test.cpp
icpc: command line remark #10411: option '-openmp' is deprecated and will be removed in a future release. Please use the replacement option '-qopenmp'
Поэтому, вероятно, что-то не так с настройкой ваших компиляторов Intel. Как подсказка, компиляторы Intel, как правило, выдают номера ошибок для нераспознанных опций. Убедитесь, что icpc
это действительно компилятор Intel, а не оболочка вокруг GCC или псевдоним.
Ответ №2:
Как насчет
-qopenmp
Я думаю, что это официальный способ добавления OpenMP в компилятор Intel.
Если вы используете Windows, используйте:
/Qopenmp
Комментарии:
1.
-fopenmp
никогда не распознавался компилятором Intel. Опция, которая использовалась-openmp
, и в последних версиях была заменена на-qopenmp
.