摘要
近年来,随着 GPU 在通用计算领域的高速发展,逐渐将应用范围扩展到图形之外,例如人工智能、深度学习和自动驾驶。这些领域的特点要求 GPU 在并行处理海量数据的同时提供更高的访存速度和浮点运算能力。
在这种计算密集度越来越高的情况下,我们也面临越来越严峻的挑战,比如在后端摆放和绕线阶段的拥塞问题,如何比较精确地在较早阶段考虑物理信息,提前预测 RTL 的质量,还有提前预测布局变得尤其重要. 在并行同步的信号会增多,大量的矩阵运算引入的情况下,Glitch Power 占比会显著提高,如何在较前阶段去分析和避免 Glitch 功耗是我们避不开的难题;同时由于 GPU 重运算和流水线的设计加上众多旁路分支结构,OCV 影响会更加显著,如何评估和解决时钟上 OCV 是解决时序收敛的关键因素。
针对以上 GPGPU 面临的挑战和痛点,Cadence 提供了一整套从 RTL 到 Signoff 的全流程解决方案。
关键字:GPGPU,预测布局,Glitch Power OCV
1 Overview of GPU
在谈论 GPGPU 之前,我们先聊下 GPU。GPU 即图形处理器,又称显示芯片,主要负责在 PC、服务器、游戏机和移动设备上做图像和图像相关运算工作的处理器。
GPU 内部组成一般包括图形显存控制器、压缩单元、BIOS、图像和计算阵列、总线接口、电源管理单元、视频管理单元、显示接口,从图 1-1 可以直观观察到:GPU 的控制单元比较简单,但是图像和计算阵列占据了 GPU 的大部分面积,其中计算阵列采用设计简单的逻辑运算单元,通过大量复用的方式来并行执行高强度的运算。
每个 ALU 单元都配有独立的缓存单元,同时还有统一的内存来实现多线程并行任务。因此 GPU 有着较大的吞吐量和并行处理数据的能力。
图 1-1 GPU 内部组成
1.1 从 GPU 的应用领域来看
图像处理器 GPU 作为芯片的重要组成部分被广泛地应用于 PC、高性能服务器、自动驾驶汽车和以智能手机为主的移动设备等。无论是在工作生活还是娱乐方面,GPU 都发挥着不可替代的作用,极大地方便了我们的生活。
图 1-2 GPU 类型
在不同的应用领域中,根据其工作特点,衍生出不同类型的 GPU,如图 1-2 所示,主要分为独立 GPU 和集成 GPU,独立 GPU 拥有独立显存,一般作为一个独立的组件封装在显卡电路板上,它的特点是性能高,具有较强的专业图片处理能力,提供较高的计算速度, 所以独立 GPU 一般较多地应用于重计算的服务器、高性能游戏电脑、人工智能等;而集成 GPU 常和 CPU 共用一个 Die,共享系统内存。它的特点是注重能效比,即可以牺牲一定计算速度的条件下,尽可能地节省空间和功耗,这也是由便携式的移动设备一直追求的更轻更强续航能力. 图 1-3 是关于集成 GPU 和独立 GPU 的对比:
图 1-3 独立/集成 GPU 比较
1.2 GPGPU 发展及未来趋势
近年来,在摩尔定律严谨的放缓和 GPU 在通用计算领域高速发展的此消彼长之下,通用图形处理器(GPGPU)逐渐反客为主,将应用范围扩展到图形之外,无论是科研教育、财务计算,还是在工业领域,GPGPU 都得到广泛的使用,关于它的科研成果和新应用模式也层出不穷,其主要应用和发展趋势主要分为以下两个方面:
高能效:
GPGPU 擅长处理计算密集型任务,但大部分应用场景都需要在满足计算或者图形处理的条件下尽量降低功耗。尤其是在核心数和工作频率,接口带宽不断提升的情况下,追求高能效是 GPGPU 未来发展的趋势。
人工智能和深度学习:
人工智能时代需要大量的多媒体与 3D 图形,所以更高的浮点计算能力意味着对图形与媒体的快速处理。深度学习算法需要处理海量数据,需要进行大量的简单运算。GPGPU 拥有较强的优势,第一,GPGPU 提供了多个并行计算的基础结构,可以执行海量数据的并行计算;第二,GPGPU 拥有更高的访存速度;第三,GPGPU 拥有更高的浮点运算能力。
2 GPGPU 所面临的挑战
就从 GPU 本身的特性而言,如图 2-1 所示,GPU 设计的高带宽、计算密集、管道/旁路等复杂结构往往导致后端放置和路由阶段出现拥塞问题。尤其是在前面介绍的 GPGPU 的未来发展趋势的情况下,设计的布局会越来越复杂,这会大大增加前端和后端之间的沟通迭代周期,所以在综合阶段提供一套高效的预测布局解决方案是目前 GPU 所面临的一大挑战。
图 2-1 GPU 高带宽特点
同时深度学习和自动驾驶对海量的数据进行并行处理的需求,使得 GPU 同时并行同步的信号会增多,加以大量的矩阵运算,Glitch Power 占比会显著提高,这类功耗常常和周围的环境有关,比如 Cell type、绕线等,如何能在较前阶段准确地预测和避免 Glitch 功耗是我们面临的又一挑战。
由于 GPU 重运算和流水线的设计加上众多旁路分支结构,时序路径上,数据通路长短差异非常明显,时钟树结构的要求会比较高,OCV 影响会更加显著,如何评估和解决时钟上 OCV 是解决时序收敛的关键因素。
3 Cadence GPGPU 解决方案
从 GPGPU 未来趋势和眼下所面临的挑战出发,Cadence 提供了从 RTL 到 Signoff 的一系列完整的解决方案, 每套解决方案,都从全局出发,在解决每项挑战的情况下,综合考虑对其他指标的影响,实现性能、功耗和面积全面提升。
3.1 RTL 质量预测
对于 RTL 工程师来说,在 GPGPU 芯片结构越来越复杂的情况下,如何提前预测 RTL 最终实现的 PPA 是我们面临的最大挑战。
传统 Flow 中我们一般需要后端提供一个 Floorplan 给前端去做综合,基于 Floorplan 做完综合之后再传给后端,这就需要前端和后端进行不断的的沟通修改的迭代,大大增加了设计周期和人力资源。
基于此,Predict\_Floorplan 应运而生,即在 Genus 中调用 Innovus 的 Floorplan 引擎,在前端给出一个合理的 Floorplan。这不仅可以较早去判断 RTL 的可行性,及时对 RTL 进行修改,并且简化了前后端的交互,大大缩短了迭代周期。与传统流程相比,这种解决方案在实现相同的最终平面布局情况下,可以减少约 80% 的设计周期。 并且让前端工程师不用熟悉后端的相关知识,就可以提前预测 RTL 的 Timing-Power-Area 具体信息。
3.2 Power driven full flow
GPU 擅长处理计算密集型的任务,特别是随着核数、工作频率和接口带宽的不断增加,追求高能效是 GPGPU 未来的发展趋势。Cadence 提供了从 RTL 到 Signoff 的 Power Aware 全设计流程。 其中需要重点指出是对 Glitch power 的分析和修复,Glitch 功耗在 GPGPU 总功耗中占据越来越大的比例,而这类功耗常常受周围环境的影响较大, Cadence 在综合阶段通过调用拥有强大的波形处理能力的 Joules,可在 RTL 阶段实现功耗分析和预估,并对早期网表进行 Glitch 功耗分析,实现早期芯片功耗评估。**
3.3 时钟树 OCV
由于 GPU 重运算和流水线的设计加上众多旁路分支结构,时序路径上,数据通路长短差异非常明,如何减小时钟树 OCV 是实现时序收敛的关键。
Innovus Flexible H Tree 的优势是 H 型树在电对称和平衡线长前提下同时放宽了几何对称的要求,因此即使在布局受限的平面图中也可以实现自动合成。多抽头时钟树综合与灵活的H树功能完全集成,扩展了常规时钟综合,并在树的结构化顶部和时钟接收器之间保持平衡。它可以很好的减少时钟上的 OCV,更容易时实现时序收敛。
3.4 Signoff Fixing Solutions
Signoff 作为整个设计流程的最后一步,同时也是关乎芯片是否能够成功流片的关键,Cadence 提供了一套高效的 Signoff Fixing/Check Solutions, 在Timing Signoff 方面,通过先进的技术可以对较多 Analysis View 的设计做智能处理,提供快速的精确的 Timing 分析和优化;在 IR-Drop 方面,实现了 Timing Aware 的 IR-Drop Fix;同时可以在在 PR 阶段进行 DRC/LVS Check,提高了整个 Flow 的一致性;对于越来越复杂的设计,Netlist 中常常会出现较长的 Data Path,Conformal 提供了一套完整的成熟的解决方案。
4 小结
本文主要在基于对 GPU 发展和未来趋势的分析,指出了 GPGPU 设计所面临的一系列挑战和难题。面对这些挑战,Cadence 提供了一套完善的从前端到后端的解决方案,解决了布局、功耗、时钟树 OCV 和 Signoff 所面临的难题。
作者:陌上风骑驴
原文链接:https://mp.weixin.qq.com/s/OjTmHuSG8v46KX5FXot1xQ
微信公众号:
相关文章推荐
更多IC设计技术干货请关注IC设计技术专栏。