【发布时间】:2017-02-20 17:48:27
【问题描述】:
我正在阅读 this 文档,了解如何在 Intel Knights Landing 上使用 Intel C++ 编译器和 AVX512 支持来编译 C/C++ 代码。
但是,我对这部分有点困惑:
-xMIC-AVX512:使用此选项生成 AVX-512F、AVX-512CD、AVX-512ER 和 AVX-512FP。
-xCORE-AVX512:使用此选项生成 AVX-512F、AVX-512CD、AVX-512BW、AVX-512DQ 和 AVX-512VL。
例如,为 Intel Xeon 生成 Intel AVX-512 指令 Phi 处理器 x200,您应该使用选项 –xMIC-AVX512。为了 例如,在 Linux 系统上
$ icc –xMIC-AVX512 application.c 此编译器选项在以下情况下很有用 您想为英特尔至强融核处理器 x200 构建一个巨大的二进制文件。 而不是在需要更多时间的协处理器上构建它 时间,在基于 Intel Xeon 处理器的机器上构建它
我的 Xeon Phi KNL 没有协处理器(无需 ssh micX 或使用 -mmic 标志编译)。但是,我不明白是使用-xMIC 还是-xCORE 更好?
第二位是-ax 而不是-x:
当您尝试构建可在多个平台上运行的二进制文件时,此编译器选项很有用。
所以-ax 用于跨平台支持,但是与-x 相比有什么性能差异吗?
【问题讨论】:
-
-xCORE在 KNL 上不起作用,因为它不支持 AVX-512BW、AVX-512DQ 和 AVX-512VL。