我正在尝试使用 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* 要使用英特尔 OpenMP 库通过一个命令编译和链接(构建)整个应用程序,请在 Linux* 平台上指定以下英特尔® C++ 编译器命令:
C源代码
icc -openmp hello.c
C++ 源代码
icpc -openmp hello.cpp
更新 2:
-qopenmp 给出了同样的错误。 我安装了 intel system studio,并使用/opt/intel/bin 中的编译器。在 PATH 中没有与英特尔相关的内容。也许我应该在 PATH 中添加一些东西让英特尔认识到它可以使用 openmp。我试过只添加到 PATH/opt/intel/bin。
最佳答案
-openmp
曾经是在旧版英特尔编译器中启用 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'
因此,您的英特尔编译器的设置可能有问题。作为提示,英特尔编译器倾向于为无法识别的选项发出错误编号。确保 icpc
确实是英特尔编译器,而不是 GCC 的包装器或别名。
关于c++ - ICPC : command line error: option '-openmp' not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40107986/