理性解析主流协处理器:百倍效能从何处来?
- +1 你赞过了
统计方法不同造成结论不同
如果想要做出解答,首先要从最近微博上流行的一组图片下手。“您最喜欢什么野生动物?”“野生动物啊,我喜欢打网球”。如果处理器上出现了这个现象,那么可以得出结论就是处理器对当前指令没有正确识别。指令要通过编译器编译成处理器可识别的形态,才能被正确的理解和执行。对于协处理器,无论是XEON Phi还是TESLA,也是如此。对于协处理器这种堆积了大量ALU的架构,编译器变得尤为重要。比如Intel推荐使用Intel C或者fortan搭配Intel MKL运算库进行编译,还可以获得额外的性能提升。
那么通过编译器,如果我们将一段合适的代码编译成可以多线程运行的状态,它理论上的运行速度能提升多少呢?根据Intel的一个测试报告显示,一组在Intel XEON平台上运行需要花费67.097秒的代码,编译成针对多线程并行优化之后,运算耗时就已经变成了只有0.46秒,速度提升了145倍。
接下来如果用XEON Phi运行这段程序,会发现实际运行时间是0.197秒,与优化后的理论数值相比有了2.3倍的性能提升。而这2.3倍的性能提升,刚好在Intel官方介绍的性能提升范围之内。
而对于NVIDIA宣称的自家TESLA协处理器相对于CPU有100倍性能提升,著名评测网站Anandtech早已指出,测试结果是多线程情况下与关闭了SIMD的单核心处理器相对比的结果,也就是说NVIDIA所列出的速度增幅是编译器优化与协处理器运算性能相叠加的效果。
既然NVIDIA能够通过如此的叠加方法描述协处理器有多快,自然Intel也可以。前面已经得到了两个数字,首先是编译器令代码处理效率提升了145倍,接下来Xeon Phi又让代码的运行速度提升了2.3倍,只要简单做一下乘法就知道了,Intel也完全可以强调自家协处理器的效率比CPU提升了340倍。
厂商关于新产品的描述,总是喜欢选择有利于自己的描述方式,让用户认为自己比竞争对手领先很多。本文中提到的就是一个例子,在对于Intel XEON Phi性能描述上,随着计量方法不同,出现了性能提升2.3倍和性能提升340倍两种完全不同的结论。Intel认为编译器的功劳不归协处理器所有,所以选择了前面一种保守的表述方法;而作为竞争对手的NVIDIA则倾向于采用更有利于自己的另一套表述方法。这就造成了表面看似TESLA更加强大,在统一成相同的计量方法之后却完全变成了另一番景象。
本文只是揭开几篇关于协处理器产品技术讲解系列文章的序幕,在随后的文章中我们还将继续介绍协处理器的优缺点以及应用情况。欢迎对于这类产品以及高性能计算感兴趣的读者继续关注服务器频道。
最新资讯
热门视频
新品评测