● 僵局之下的全面审视
Larrabee的失败,让一切都再次陷入了混沌。我们一直在黑暗中摸索,希望得到一个答案,一个究竟哪条路线正确,错误的路线又在哪里出了问题的答案。现在,本来可以为我们带来解答和曙光的Larrabee以胎死腹中这一方式收场,让我们不得不重新开始对CPU/GPU融合之路的审视。
首先是AMD的路线,与INTEL及NVIDIA相比,AMD的融合之路显得十分中庸。他没有选择激进的一方吃掉另一方的方式,而是通过比较CPU以及GPU的优劣,通过温和的连接方式将他们有机的结合在一起。在需要宽泛指令格式支持的场合,CPU可以以其良好的兼容性以及耐受力进行快速处理,而需要大量浮点吞吐的领域,GPU中的ALU可以通过Compute Shader指令来扮演指令集的角色,完成快速大量的浮点吞吐作业。应该说AMD的中庸之道是所有方案中最为保险和灵活的方案,它不仅能够保障应用两端的平衡,而且不会为更好的应用性能付出巨大的代价。
但AMD这种路线本身的缺陷也是明显的,中庸之道注定了它的全面平庸。AMD的融合之路不仅需要依赖大商人微软对DirectX的更新和优化,而且还需要将希望寄托在Compute Shader的快速普及和广泛接受上。另外,将GPU挂上CPU的MC这一选择是的GPU丧失了原本巨大的内存带宽优势,其浮点性能的发展势必会受到影响。
与AMD不同,NVIDIA的融合出发点并不是和气生财,或者单纯的在必要的时候加以利用而平时则和平共处。在NVIDIA的CPU/GPU统一路线中,虽然短期内我们并没有看到以GPU入侵通用处理器领域的迹象,但也正如前一篇文章中我们所设想的那样,我们并不能完全排除NVIDIA通过GPU向CPU界宣战的可能性。以目前的状态来看,NVIDIA在maxwell上所选择的将ARM纳入到GPU旗下的路线在性能上显然要超越AMD的中庸之道,尽管它会花费更多的资源,但是这条路线可以充分利用到GPU原本就非常可观的内存带宽资源,让CPU和传统GPU都能够从中获得巨大的助益,这种明显的GPU包围CPU的激进策略必定会对未来可能出现的NVIDIA的融合产品产生深远的影响。
但同样的,NVIDIA所选择的路线也并非就是正确的通途。NVIDIA是一家传统的GPU厂商,在cache体系的应用领域显然远远落后于AMD和INTEL,虽然NVIDIA意识到了问题的所在,并以Fermi甚至整个G80构架为基础做了许多的功课,大有迎头赶上之势,但cache的设计毕竟是一个需要长期积累和实践的过程,与INTEL在Larrabee上不经意间所变现出来的成熟和强大相比,NVIDIA明显还非常的稚嫩,而如果没有优秀的cache设计,显示存储体系延迟巨大的痼疾势必会在未来的某天越过大并行度的保护,直接对体系的性能造成冲击。与此同时,NVIDIA还有半导体工艺这一Fabless不得不面对的问题。
最后是INTEL,曾经梦想重新统一CPU王国,恢复自己在整个PC业界内绝对领导权的INTEL,在他长期积累之后力作最终失败之后也陷入了迷茫之中。诚然,以CPU来完成一切在理论上确实可行,但这也会让整个体系重新面对目前CPU发展时所遇到的诸多问题,比如可制造性,任务的无损拆解及网格化,还有与AMD同样的内存带宽问题,以及IO和OoO在效率上平衡的问题等等。