Xeon Phi协处理器与Xeon Phi主机处理器?

时间:2015-10-28 03:23:17

标签: openmp processor xeon-phi

主处理器和协处理器有什么区别?特别是Xeon Phi协处理器和Xeon Phi主机处理器?

我在这些机器上有一些性能结果(正在运行扩散方程的并行化OpenMP代码),这表明当相同数量的线程工作时,主机处理器的工作速度要快得多。我想知道不同之处并将它们与我的结果联系起来。

2 个答案:

答案 0 :(得分:5)

只是重复一遍Jeff在评论中所说的内容,你就拥有了一个带有Xeon Phi协处理器的Xeon主机。目前的Xeon Phi(Knight's Corner)只作为协处理器提供,而不是作为独立的Xeon Phi主机(下一代可以使用Knight's Landing)。

当您从主机Xeon({3}})运行程序而不卸载时,看起来您最多可以运行16个线程。请注意,每个内核的速度约为2.2 GHz。

当您在Xeon Phi协处理器上以本机执行模式运行程序时,您应该能够运行更多线程。要使用的最佳线程数取决于您拥有的this website(有些最好用56,有些用60)。但请注意,每个Xeon Phi核心(大约1.2 GHz)明显弱于单个Xeon核心(大约2.2 GHz)。多核Xeon Phi技术的好处就在于:您可以运行多个核心。

最后一个非常重要的考虑因素是Xeon Phi具有512位宽的SIMD指令集。因此,您可以在Xeon Phi协处理器上支持比在主机上运行更好的SIMD矢量化。在您的情况下,我相信您的Xeon主机只有一个256位SIMD矢量处理单元。因此,如果您尚未使用SIMD矢量化,您可以在Xeon Phi上提高性能(如果您处理的是单精度,则最高可达x16)。您的Xeon主机只会提供x8性能。只是为了让你开始google trek,OpenMP 4.0允许你编写像#pragma omp simd这样的东西,以告诉编译器何时在整个代码中向量化低级循环。如果你真的想从Xeon Phi获得最大性能,那么添加SIMD矢量化是必要的。

所以直接回答你的问题:使用相同数量的内核比较你的Xeon主机和Xeon Phi协处理器之间的性能结果是没用的。我们已经知道每个Xeon Phi核心都比每个Xeon核心慢。 您应该使用每个允许的最大核心数(分别为60和16)来比较结果,并且如果您想要直接比较,则最大限度地利用矢量处理单元。

答案 1 :(得分:1)

如果你在谈论当前一代(KNC)而不是下一代(KNL),那么这些就是定义。

主机处理器:托管协处理器的~8核心/ ~16线程Xeon,意味着协处理器通过PCIe总线连接的Xeon主机。

协处理器:在Xeon的PCIe总线上挂起Xeon主机的~60核心~~240线程协处理器。

主机使用卸载指令或使用某些分布式编程范例(如MPI)本机运行它们,将高度并行/可矢量化的作业置于协处理器中。

关于下一代主机处理器的评论,评论者指的是下一代Xeon Phi(KNL)可以配置为挂在PCIe总线上的协处理器(如第一代Xeon Phi, KNC)或作为插入主板的普通处理器。