使用 gcc 进行英特尔至强 phi 编程

Posted

技术标签:

【中文标题】使用 gcc 进行英特尔至强 phi 编程【英文标题】:Intel xeon phi programming with gcc 【发布时间】:2015-10-09 17:29:18 【问题描述】:

我有点想买英特尔至强 phi 协处理器,因为有一个型号似乎售价 230 美元。我有两个问题。我是否可以仅使用 gcc 和 openmp 来充分利用它的功能,还是需要 intel 编译器。还有,这个模型是什么让它如此便宜?

http://www.amazon.com/Intel-BC31S1P-Xeon-31S1P-Coprocessor/dp/B00OMCB4JI/ref=sr_1_2?ie=UTF8&qid=1444411560&sr=8-2&keywords=intel+xeon+phi

【问题讨论】:

【参考方案1】:

3100系列是第一代至强融核(代号Knights Corner,简称KNC)。

    使用 GCC 进行 Xeon Phi KNC 编程绝对不是完美的主意。例如:Xeon Phi Knights Corner intrinsics with GCC

    因此极力推荐使用 Intel Compiler for KNC。是的,在非商业用途的情况下,您可以在这里申请免费的英特尔编译器许可证:https://software.intel.com/en-us/qualify-for-free-software(这是一种新程序,过去不可用)。

    鉴于 KNC 的价格标签足够低,尽管我定期观察 KNC 以相似价格销售(所以至少它不是“不完整”的 Phi;它不是作弊,尽管 Gilles 的被动冷却点是有效的)。我不知道你在处理哪些问题,但你应该知道 KNC 最适合一些高度并行的工作负载。有一个很好的参考可以从使用 Xeon Phi KNC 中受益的应用程序类型:https://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-applications-and-solutions-catalog

    正如我在开头提到的,您问的是第一代至强融核。许多事情(包括 GCC 答案)可能会随着 第二代 Xeon Phi(代号为 Knights Landing,KNL)的推出而改变,该产品将于明年 ~ 公开发布。

【讨论】:

【参考方案2】:

Gcc 允许您为 Xeon Phi 编译代码并运行它们,我相信它在这方面做得很好。事实上,AFAIK,gcc 是用于编译 Xeon Phi 上可用的 Linux 环境的编译器。但是,为了充分利用至强融核的潜在性能,我强烈建议您使用英特尔编译器。事实上,除非我弄错了,否则您可以免费下载并安装英特尔编译器套件供个人使用。

关于 Xeon Phi 卡,它很便宜,并不是因为它缺少 Xeon Phi 卡所需的任何东西,而是因为它是一个被动冷却卡。这意味着,除非您想到一些带有纸板和风扇的冷却设备,否则您将无法将卡插入并在标准 PC 中使用。您将需要一个价格不便宜且通常非常嘈杂的机架式服务器。因此,如果您有一个服务器可以将卡放入,那么这很划算。但如果你不这样做,你最好考虑清楚。

【讨论】:

好吧,这只是一点点。 amazon.com/Intel-Xeon-5110P-1-05-Coprocessor/dp/B00FF5AP1O/… 主动散热。 不,它也是一张被动很酷的牌。图片具有欺骗性(可能是另一张卡),因为 5110P 中的 P 表示“被动”。你想要的是一张“活跃”的卡片…… 我真的不明白为什么只是冷却会导致价格差异。你也确定我不能使用被动冷却卡。我知道有很多被动冷却的显卡可以正常工作。我用一个来调试 cuda 程序。 只要浏览一下网页,有很多关于这个特定问题的参考资料以及纸板定制风管的粘贴……这是可行的,但不仅仅是即插即用。由你决定。

以上是关于使用 gcc 进行英特尔至强 phi 编程的主要内容,如果未能解决你的问题,请参考以下文章

Intel Xeon Phi 上每个时钟周期的乘法次数

英特尔® 至强融核? 处理器优化教程

如何使用 GCC 5.1 和 OpenMP 将工作卸载到 Xeon Phi

英特尔CPU是至强系列好还是酷睿系列好?

英特尔至强融核使用的内在函数是不是比自动矢量化获得更好的性能?

英特尔酷睿和至强哪个好