有人告诉我可以在 MIC 上运行一个用 gcc 构建的程序。
真的吗?
如果是,如何进行?
我正在使用 gcc 4.4.7 版。
英特尔至强融核确实可以运行使用 gcc 交叉编译器编译的程序。但是 gcc 不适合为协处理器编译任何应用程序,因为 gcc 不包括对 Knights Corner向量指令和相关优化改进的支持。Knights Corner 的 GCC 实际上仅用于构建内核和相关工具;它不用于构建应用程序。 ”,据英特尔称。
gsl 库出现问题是因为该库没有针对 Intel Xeon Phi 进行交叉编译,而是针对主机进行了编译和配置。为了让 gsl(或任何其他库)在英特尔至强融核上运行,您必须为协处理器交叉编译它,并在编译需要该库的程序时为编译器和链接器提供必要的路径:
gcc hellophi.c -L/path/to/cross/compiled/glslib -lgsl
使用 icc 时,您可以通过 TCP/IP 堆栈(例如使用 scp)将交叉编译的库传输到协处理器,并让 icc 进行环境变量和路径处理。