使用英特尔C ++编译器链接到OpenMP的步骤是什么?英特尔编译器是否附带自己的OpenMP库,还是应该链接到 libgom ?
答案 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库。