GPU
到目前为止可公开的消息:山水道人已经做过MCU,CPU。GPU初步了解,未来可能从事APU.
本系列文章主要讲述GPU,穿插回顾以往的MCU,CPU,展望未来的APU。
文章目录
- MCU-CPU-GPU-APU系列
- 背景
- 一、GPU架构
- 二、GPU开发
- 扩展
前言
图形处理器(英语:graphics processing unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。GPU的生产商主要有NVIDIA和ATID
随着近年来芯片赛道的火热,加上大数据云计算以及AI图像识别概念的爆发,GPU开发越发成为研究热点。目前在众多实际应有领域都有重要应有,如目前应用广泛的图像识别,人脸识别
等,其技术核心均是图像处理问题。随着这些领域图像处理规模的不断扩大以及对实时性能要求的不断提高,如何提高图像处理算法的性能已经成为当前的研究热点。GPU(Graphics Processing Units)在处理能力和存储带宽上相对CPU都有无可比拟的优势,其发展为图像处理应用的实时性要求提供了解决方案。
一、GPU架构
GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理大量的类型统一的数据。但GPU无法单独工作,必须由CPU进行控制调用才能工作。
图像上的每一个像素点都有被处理的需要,而且每个像素点处理的过程和方式都十分相似,也就成了GPU的天然温床。GPU就是用很多简单的计算单元去完成大量的计算任务,也就是并行计算。
那么什么是CPU?
中央处理器(Central Processing Unit),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速及实现它们缓冲处理器之间联系的数据、控制的总线。
电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据,也就是机器的“大脑”。在计算机体系结构中,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。CPU 是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。
CPU架构:
二、GPU开发
1.底层架构
由于材料、制造工艺、功耗及散热的限制,仅仅依靠提升时钟频率来提高处理器性能已经变得越来越困难。芯片厂商开始在单块芯片上集成更多的处理器核心,将处理器体系结构的发展推向了多核和众核时代。众核处理器凭借其强大的并行处理能力和更高的存储器带宽受到了越来越多厂家和应用开发人员的青睐。主流芯片厂商相继推出其众核架构处理器(如:NVIDIA 的 Fermi [3] 和
Kepler [4] 架构 GPU、AMD 的 Cypress、Cayman 和 GNC [5] 架构 GPU 以及 Intel的 MIC [6] 架构)而成为应用最为普及众核架构处理器。如果过去摩尔定律集中体现在 CPU 上,那么未来摩尔定律将会在 GPU 上继续辉煌。
随着 GPU(Graphics Processing Unit, GPU)计算能力的不断提高和可编程性的不断增强,越来越多的开发人员使用 GPU 作为性能加速器,以提高程序性能。GPU 上基本图像处理算法性能优化关键技术研究但是,如果 GPU 编程存在“编程难,优化更难”的问题:首先,如果 GPU 程序没有进行充分优化,其性能甚至反而不及 CPU,因为 GPU 程序的优化工作已经从硬件设计者转移到应用开发人员手中。然后, GPU 程序的性能优化是一个非常困难的过程,其实质是实现算法特性向底层硬件特征的高效映射。这个过程不仅需要程序员对 GPU 底层硬件有着清晰的了解,而且需要程序员对算法有着深入认知,这就对程序员提出了更高的要求。
import gpu
2.图像处理
图像处理主要包括图像压缩、图像滤波、图像采样、图像分割和图像分析等,目前在众多实际应有领域都有重要应有,如目前应用广泛的图像识别,人脸识别等,其技术核心均是图像处理问题。图像处理技术在各个领域应用广泛,如:气象、地质检测、生物医学、人工智能、航空航天等,随着这些领域图像处理规模的不断扩大以及对实时性能要求的不断提高,如何提高图像处理算法的性能已经成为当前的研究热点 。由于图像的在生物医学等邻域实时成像的需求,以及游戏,高清视频播放时,对于高清图像的快速处理及呈现的迫切需求,快速的处理大规模图像数据
成为需要迫切解决的问题。
完整的图像处理大致包括:图像信息的获取、存储、传送、处理、输出和显示 。由于图像在生成和传送过程中不可避免的会产生各种噪声,为了使图像具有更高的清晰度,上下采样以及滤波、卷积等图像处理过程必不可少。图像处理算法的执行速率与图像尺寸直接相关,随着图像尺寸的不断增大,算法的运行时间已经远远不能达到人们对于实时处理图像的需求。关于图像处理算
法本身的改进,已经没有太大上升空间,大尺寸图像大量的像素点意味着不可避免的大量重复运算,这是传统 CPU 所无法避免和解决的问题。快速处理高分辨率,同时满足海量基础数据和实效性的要求,需要计算机达到每秒亿万次以上的计算能力 。GPU 是能解决这一问题的唯一有效途径。
data = mcu.cpu.gpu.apu.ipu.npu.tpu
扩展
处理MCU,CPU,GPU,APU外还有如IPU.NPU.TPU以及BPU,DPU,FPU,HPU,RPU,VPU,WPU,XPU,ZPU.山水道人主要以GPU为研究方向,研究道路为MCU-CPU-GPU-APU.