Linux上的ICC:链接到OpenMP

时间:2011-06-26 08:03:17

标签: c++ openmp

使用英特尔C ++编译器链接到OpenMP的步骤是什么?英特尔编译器是否附带自己的OpenMP库,还是应该链接到 libgom

4 个答案:

答案 0 :(得分:7)

它显然有自己的实现。只要使用-openmp标志进行编译,就不需要指定其他库。

$ icc -openmp t.c
$ ldd ./a.out 
    ...
    libiomp5.so => /opt/intel/Compiler/11.1/072/lib/intel64/libiomp5.so (0x00007fd8e7ac6000)
    ...

答案 1 :(得分:5)

英特尔C ++编译器提供了自己的OpenMP库,它不会链接到libgomp。您可以将-static-intel标志与icc / icpc一起使用以消除libiomp5.so依赖关系,这样您的二进制文件就可以在未安装英特尔C ++编译器的系统上运行。

$ icpc -openmp -static-intel t.cpp
$ ./a.out

答案 2 :(得分:2)

你应该使用icc的内置openmp实现。只需在命令行上传递-openmp开关即可!

答案 3 :(得分:1)

自不建议使用icc版本17 openmp

  

icc:命令行注释#10411:不建议使用选项-openmp,并且   将在以后的版本中删除。请使用替换选项   '-qopenmp'

而且icc有自己的openmp库。