HSA AMD异构计算架构
2024-08-24 12:15:14
当前的CPU和GPU是分立设计的处理器,不能高效率地协同工作,编写同时运行于CPU和GPU的程序也是相当麻烦。由于CPU和GPU拥有独立的地址空间,应用程序不得不明确地控制数据在CPU和GPU之间的流动。CPU代码通过系统调用向GPU发送任务,此类系统调用一般由GPU驱动程序管理,而驱动程序本身又受到其他调度程序管理。这么多的环节造成了很大的调用开销
为了充分释放并行处理器的计算能力,架构设计者必须打破既有格局,采用新的思路。设计者必须重塑计算系统,把同一个平台上分立的处理单元紧密整合成为不断演进单颗处理器,同时无需软件开发者的编程方式发生重大的改变,这是HSA设计中的首要目标。
异构系统架构(HSA,Heterogeneous System Architecture)用一句话来概括就是:一种智能计算架构,通过无缝地分配相应的任务至最适合的处理单元,使CPU、GPU和其他处理器和谐工作在单一芯片上。上一代APU虽然已经将CPU和GPU无缝融合在了一起,但并没有实现“分配相应的任务至最适合的处理单元”,这就是HSA架构的精髓,也是AMD未来APU想要努力实现的方向。
HSA系统的几大特性:
1. 任何处理单元的数据可以轻易地被其它处理单元所访问;
2. 异构计算不仅包括GPU,还包括其它专用处理单元或协处理器;
3. 编程人员不用知道程序在什么处理单元上运行;
4. GPU和其它处理单元无缝访问虚拟内存,解决数据搬迁瓶颈,数据无需复制。
在硬件层面,HSA架构当中的异构统一内存访问是一项关键技术。
最新文章
- docker 实践笔记
- C#遍历文件夹下所有文件
- Java JDBC基础学习小结
- Screen Orientation for Windows Phone
- 第二章平稳时间序列模型——ACF和PACF和样本ACF/PACF
- 交流异步电机的Modelica模型
- JavaScript中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令是什么?
- css斜线
- HDU 5705 Clock (精度控制,暴力)
- HBase开发错误记录(一):java.net.UnknownHostException: unknown host: master
- C#中对输出格式的初始化
- CodeForces 340E Iahub and Permutations
- 2017 ZSTU寒假排位赛 #2
- Lambda表达式和Java集合框架
- [转载] OAuth2.0认证和授权原理
- Angular记录(3)
- OpenCV入门之寻找图像的凸包(convex hull)
- 【DDD】使用领域驱动设计思想实现业务系统
- info AI drive
- 理解Netty中的零拷贝(Zero-Copy)机制【转】