CPU与GPU是如何协同的,它们的工作流程是怎样的?
demi 在 周二, 06/18/2019 - 19:08 提交
CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
GPU,全称为图形处理单元(Graphics Processing Unit),是一种专用于处理图形和图像计算的处理器。起初,GPU主要用于图形渲染,但随着计算需求的增加,尤其是在科学计算、深度学习和其他并行计算领域,GPU的通用计算能力逐渐受到重视。
GPU相对于传统的中央处理单元(CPU)在设计上有一些显著的区别。CPU更适用于处理通用的控制流任务,而GPU则专注于高度并行的数据处理。GPU通常拥有大量的小型处理单元,被设计成能够同时处理大量相似的任务,例如图形渲染中的像素计算或深度学习中的矩阵运算。
总体而言,GPU在图形处理领域的成功应用和对并行计算需求的响应使其逐渐演变成为通用计算设备,广泛用于加速各种科学和工程计算应用。
CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
面向嵌入式应用的GPU的持续快速发展是不争的事实。随着PowerVR-9XE系列,PowerVR-9XMP系列,以及PowerVR-9XTP系列 GPU的推出,Imagination再次突破了图形和计算性能的极限。
当显示器的分辨率或显示屏的PPI(每英寸的像素数)足够大时,人眼将无法看清具体的像素点,但相邻像素之间的色彩差异也会产生明显的错落感,高分辨率/PPI由于像素变得非常细腻,可以同比缩小锯齿,但仍不能完全消除锯齿。
GPU图形处理,可以大致分成 5 个步骤:第一步,vertex shader。第二步,primitive processing。第三步,rasterisation。第四步,fragment shader。最后一步,testing and blending。
GPU渲染与传统的CPU渲染不同,GPU渲染的运算速度更快,传统的CPU渲染是利用CPU的运算部分进行渲染运算,但一颗CPU的运算单元只占CPU的小部分。但GPU就不同了,一颗GPU拥有上千个核心,所以进行渲染运算时,这上千个核心会全部进行并行计算。
所有渲染所需的数据都需要从硬盘(HDD)中加载到系统内存(RAM)中,然后,网格和纹理等数据又被加载到显卡上的存储空间–显存(VRAM)中。这是因为:显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利。
受架构所限,AI时代由CPU驱动的数据库在数据访问速度及处理速度上均不再适用,而这也恰是擅长规模化并行计算的GPU的优势。也因此,AI时代,GPU或将驱动数据库变革。
本文详细描述GPU是如何实现概念阶段的后两个阶段——几何阶段和光栅化阶段可以分成若干个更小的流水线阶段,这些流水线阶段由GPU来实现,每个阶段GPU提供了不同的可配置性或可编程性。
由于图形引擎的复杂性,瓶颈可能发生在CPU、GPU、,也可能发生在CPU与GPU的传输数据与交互之中。这里我们只假设瓶颈在GPU上,讨论GPU的优化方法。
PowerVR汽车方案是一个完整的产品包,它包括五个基本元素:硬件IP、软件、开发工具、文档以及长期的技术支持。GPU和专用的AI加速器对于下一代汽车的成功至关重要,它们支撑着汽车娱乐功能、数字驾驶和高级驾驶辅助系统(ADAS)等功能,这些正成为汽车的标准配置。