CPU和GPU真融合 APU异构系统架构解析
分享
可以看到,在硬件层面,HSA架构当中的异构统一内存访问是一项关键技术,因此有必要详细介绍一下UMA:
一个真正的UMA系统中,所有的计算核心共享一个单一的内存地址空间,而NUMA采用非统一内存访问的GPU计算系统,不同的地址需要额外的数据来实现堆栈管理,频繁的拷贝,同步和地址转换增加了编程复杂性。HSA恢复GPU到统一内存访问,异构计算取代GPU计算。
hUMA的主要特性:
1. 双向的一致性,CPU和GPU任何一个处理单元做出的更新对其他的处理单元都是可见的。
2. GPU支持分页内存管理,GPU可以产生缺页异常,不再受限于传统的页表锁定内存;
3. 系统整体内存空间的全局管理,CPU和GPU进程可以从整个内存空间中动态分配内存。
以往的处理器都不支持hUMA架构,此时数据需要在CPU和GPU之间复制,CPU先把数据从内存复制到显存中,等GPU完成计算之后,再从显存中复制到内存中。如此频繁的转移数据,会浪费不少处理器时间,导致处理器效能不高,同时占据了大量的系统总线带宽。
未来处理器采用hUMA架构之后,数据就无需复制了,CPU只需将指针传递到GPU,GPU处理完毕后,CPU就可以直接读取结果,这样将极大的提高处理器效能,并降低对总线带宽的占用。
最后再来回顾一下hUMA架构的特性:整体内存空间访问、分页内存、双向一致性、GPU快速访问系统内存、动态内存分配。值得一提的是,目前已经上市的APU产品还不能支持hUMA架构,AMD会在下半年发布的下一代APU产品中提供支持,届时异构计算的效能将会得到释放。
2人已赞