AMD推出了代号为Kaveri的新一代APU,真正将CPU和GPU融合在一起,真正实现了HSA(Heterogeneous System Architecture,即异构系统架构),这也是AMD在当年推出Athlon、Opteron、真双核产品之后又一款在架构层面上有颠覆性创新意义的产品,将为AMD未来的产品技术发展奠定坚实的基础,是AMD在技术领域以及产品领域的一个重要里程碑。
GPU在数据并行计算和图形处理上有着天然的优势,CPU适合处理例如操作系统、轻负载应用等传统工作。因此,从处理器设计的角度,我们需要让合适的计算单元做合适的工作。根据应用的计算性能要求,平衡使用CPU和GPU资源,甚至将以前(异构计算出现之前)需要CPU做、但又勉为其难的工作交给更适合的计算设备GPU,就能很好地降低设备功耗。
HSA架构下,CPU和GPU在内存管理上是统一的,内存数据对于CPU和GPU完全可见,数据无需在CPU和GPU之间搬迁,大大节省系统资源。对于程序员,这种设计可显著降低异构应用的编程难度。以OpenCL编程为例,程序员可以在不同设备间传递指针而不是数据,这就可以将更多传统上由CPU处理的数据结构放到GPU上处理。CPU和GPU统一的内存模型,也使得OpenMP/Java这类共享内存模型的编程语言成为HSA的编程语言,从根本上解决异构应用编写困难的局面。
事实上,目前包括英特尔、英伟达等多家厂商都在提供异构计算的产品,并应用了不同的技术方案。为更好地推广HSA,AMD正在推动将HSA架构变成开放标准,与其他处理器公司共同推动异构计算的生态环境。HSA最终会落到硬件层面上,这意味着厂商都可以拿这个规范去设计他们的硬件。AMD的思路是自己的IP优势。我们的差异化体现在我们制造芯片的知识产权上面,比如AMD异构芯片的电源管理,芯片模块化设计从而提供更多HSA兼容的芯片模块,异构芯片间Cache处理能力、GPU架构等等。
在高性能计算领域,HSA则有更广泛的空间。服务器里有很多计算密集型的任务,例如高性能计算当中就有很多数据处理会变成矩阵乘法操作,这种任务对计算性能要求很高,在经过一定计算之后会返回结果,并需要一个决策过程,如此反复再进行下一个处理。CPU非常适合做决策,但GPU则非常适合大型矩阵操作。HSA将CPU和GPU进行了高效连接,这种在架构上的调整让调度无需考虑数据所在(是在CPU还是GPU上),也无需考虑处理过程(在决策还是在计算),使HSA不但适用于终端设备,也是服务器和高性能计算非常好的技术实现方式。
|