专栏名称: 嵌入式微处理器
关注这个时代最火的嵌入式微处理器,你想知道的都在这里。
目录
相关文章推荐
高分子科学前沿  ·  江雷院士、王京霞研究员团队:蓝相液晶的图案化 ... ·  15 小时前  
高分子科技  ·  西南大学李楠楠课题组 Nat. ... ·  3 天前  
51好读  ›  专栏  ›  嵌入式微处理器

图像处理系列——硬件加速引擎及GPU概述

嵌入式微处理器  · 公众号  ·  · 2024-06-28 18:48

正文

1 什么是硬件加速引擎

随着摩尔定律逐渐失效,依靠单纯提高CPU性能的方式已经难以满足不断增长的计算需求。 为了解决这一挑战,可以将一些复杂且耗时的计算任务交由专用芯片处理,完成计算后再将结果返回给CPU。 这种方法利用专用的加速引擎,大幅提升了整体系统的性能。


以个人计算机为例,配备独立显卡的计算机在体验上远胜于仅有集成显卡的计算机。独立显卡,如Nvidia和AMD生产的GPU,专门用于图形和图像的加速运算。通过卸载图形处理任务,GPU显著减轻了CPU的负担,从而提高了计算机处理各种应用的能力。除了图形加速外,这些GPU还被广泛用于其他高性能计算领域,如深度学习、科学计算和视频处理,进一步展示了专用加速引擎在提升系统整体性能中的重要作用。

此外,其他类型的专用加速器也逐渐被应用于各种计算任务。例如,AI加速器用于加速人工智能模型的训练和推理,网络处理器(NPU)用于提高网络数据包的处理速度。这些专用芯片通过优化特定任务的处理效率,不仅提升了计算性能,还显著降低了能耗,使得现代计算系统能够更高效地应对复杂的应用需求。

硬件加速引擎(Hardware Acceleration Engine)是指利用专用硬件来执行某些计算密集型或性能要求高的任务,从而提高系统整体性能和效率,其过程不需要CPU或少量CPU的参与。这种硬件通常设计成专门处理特定类型的任务,比通用处理器(如CPU)更高效。

2 什么是GPU

图像处理器单元(GPU,Graphics Processing Unit)是典型的硬 件加速引擎,通过其专用的并行处理架构和高效的计算能力,在多个领域显著提升了处理性能和效率,减轻了CPU的负担,满足了现代计算应用的高性能需求。与中央处理器(CPU)相比,GPU拥有更多的计算核心和更高的并行处理能力,使其能够高效地处理大量的图形和计算任务。GPU的主要应用领域包括游戏图形渲染、视频编辑、科学计算、深度学习等。

3 GPU与CPU架构

  • CPU 架构特点:

    • 少量复杂核心

    • 擅长执行不规则操作

      运行操作系统,控制多个输入输出,指针操作等。

  • GPU 架构特点:

    • 数百个简单核心,共享内存(类似PRAM模型)

    • 高计算能力但高内存延迟(1:500)

      GPU通常采用全局共享内存结构,所有核心都可以访问相同的内存池。这种设计使得多个核心可以并行操作,但也意味着当多个核心同时访问内存时,可能会引起竞争和延迟。

    • 没有缓存、预取等机制

      GPU的典型工作负载通常具有高度局部性和数据并行性,这种情况下缓存的效果可能不如CPU明显。GPU更多地依赖于数据并行计算来隐藏内存访问延迟,而不是依赖缓存来减少延迟。

    • 需要高算术密度以实现良好性能。


4 GPU主要做什么

顶点变换(Vertex transformations):是指在计算机图形学中对顶点位置和属性进行变换的过程。这一过程通常在图形渲染管线的早期阶段完成,主要目的是将三维场景中的顶点从模型空间(Model Space)转换到世界空间(World Space),然后再到观察空间(View Space)或者裁剪空间(Clip Space),最终映射到屏幕空间(Screen Space)进行显示。其可以实现计算相机坐标和光照的功能。

几何处理(Geometry processing):主要涉及处理和操作三维几何形状的过程。它包括多种操作和技术,用于创建、修改、分析和优化三维对象的几何形状和结构。可以用于原语级属性(Primitive-wide properties),通常指的是在图形渲染过程中,应用于整个图元(如三角形、线段或点)的属性或数据。这些属性在渲染管线的早期阶段被计算和传递,以影响整个图元的最终外观和行为。

多边形转换为像素(Rasterizing polygons to pixels):用于将定义在二维或三维空间中的几何图元(如三角形、四边形等)映射到屏幕上的像素格子中

处理像素(Processing the pixels):在计算机图形学和图像处理中,对图像中的每个像素进行操作和处理的过程。这个过程涉及到从输入图像中读取像素数据,对每个像素应用算法或者操作,然后生成输出图像。如用于 纹理查找 Texture Lookup ), 着色 Shading ), Z 值 Z-values

写入帧缓冲区(Writing to the framebuffer):指的是将经过所有渲染管线处理的最终像素数据写入到帧缓冲区的过程。帧缓冲区是一个内存区域,用于存储当前屏幕上每个像素的颜色值、深度值和其他可能的像素属性。

5







请到「今天看啥」查看全文