【天极网服务器频道4月24日消息】在HPC市场,具备强大并行计算能力的GPU加速解决方案正在受到越来越多人的关注。而GPU计算的代表公司AMD和Nvidia都在努力提升GPU计算效率,而统一寻址技术成了两家公司竞争的焦点。
Nvidia正式发布并行计算开发工具CUDA 6,CUDA 6最为重要的特性在于其采用的统一寻址方案。简而言之,统一寻址机制能够实现数据免于在CPU与GPU各自独立的内存空间之间来回复制。Nvidia表示,CUDA 6可以让并行编程前所未有的轻松,能够显著节省开发人员的时间和精力,而通过GPU加速可带来最多8倍于CPU模式的性能提升。
Nvidia专门针对嵌入式以及移动用例的Tegra K1系统芯片如今正式提供CUDA支持能力,Tegra K1将192核心Kepler GPU与四核心ARM Cortex-A15 CPU相结合,此外还集成了视频编码与解码、图像信号处理以及其它多项细节改进。在高性能计算场景下,CUDA 6能够实现告诉运算。CUDA 6在现有的内存池结构上增加了一个统一内存系统,程序员可以直接访问任何内存或显存资源,或者在合法的内存空间内寻址,而不用管涉及到的到底是内存还是显存。
NVIDIA此前已经宣布下代GPU Maxwell将会支持统一虚拟内存,相比CUDA 6,Maxwell更多是硬件层面的统一内存技术。不过注意,CUDA 6并不是完全不需要数据拷贝,只不过将这个工作从程序员那里接过来自动执行而已,它仍然受制于PCI-E的带宽和延迟,因此和AMD hUMA异构统一寻址架构是不一样的。
AMD的GPU加速计算也采用了统一寻址技术叫做hUMA,hUMA是在GPU、CPU之间进行两个完全不同的架构之间进行统一寻址,二者通过一条双向存储总线使用共同的内存系统。不论是GPU还是CPU在处理器过程中对内存中的数据做了什么改变,另外一方总是能立即看到更改后的数据。有了hUMA这种异构统一寻址之后,AMD称其可以简化编程难度,降低编程开发的成本。该技术支持主流的编程语言——Python、C++及Java等,开发者无需专用API即可简化特殊架构的开发工作。AMD表示引入hUMA之后能效也变高了,因为现在为CPU开发的代码可以运行在GPU上了,反之亦然。
换句话说,以过去技术发展的状态,即便GPU和CPU已整合到同一个芯片上,芯片在运算时要定位存储的位置仍然得经过繁杂的步骤,这是因为CPU和GPU的存储池仍然是独立运作。先前为了解决两者存储池独立的运算问题,当CPU程式需要在GPU上进行部分运算时,CPU都必须从CPU的存储上复制所有的资料到GPU的存储上,而当GPU上的运算完成时,这些资料还得再复制回到CPU存储上。这些步骤都会不断耗费时间以及程式处理的效能。而hUMA技术,就是来解决两者存储独立的问题。
综上所述,AMD和Nvidia在GPU加速计算方面的竞争已经开始,在HPC高性能计算市场,GPU正在扮演越来越重要的角色。