ICPC:命令行错误:选项'-openmp'不受支持

icpc: command line error: option '-openmp' not supported

本文关键字:支持 -openmp 错误 ICPC 命令行 选项      更新时间:2023-10-16

我正在尝试使用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

OS Debian X64

你能帮我一下吗?

更新:

使用-fopenmp会给出相同的错误。

从这里:https://software.intel.com/en-us/node/522690

命令行示例,Linux*要使用Intel OpenMP库用一个命令编译和链接(构建)整个应用程序,请在Linux*平台上指定以下Intel®c++ Compiler命令:

C来源

icc -openmp hello.c

c++源

icpc -openmp hello.cpp

更新2:

-qopenmp给出相同的错误。我安装了英特尔系统工作室,并使用编译器从/opt/intel/bin。PATH和英特尔没有任何关系。也许我应该在PATH中添加一些东西,让英特尔认识到它可以使用openmp。我试过只添加到PATH/opt/intel/bin.

-openmp过去是在旧版本的Intel编译器中启用OpenMP支持的选项。在较新的版本中,选项为-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编译器的设置有问题。作为一个提示,英特尔编译器倾向于对无法识别的选项发出错误编号。确保icpc确实是英特尔编译器,而不是GCC的包装器或别名。

-qopenmp

我认为这是你在intel编译器中添加OpenMP的官方方式。

如果你在Windows上,那么使用:

/Qopenmp