icpc: ошибка командной строки: опция ‘-openmp’ не поддерживается

#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 .