数据结构论坛

注册

 

发新话题 回复该主题

为什么需要专门出现GPU来处理图形工作 [复制链接]

1#
北京中科白癜风医院优惠活动 https://auto.qingdaonews.com/content/2018-06/19/content_20138493.htm

GPU英文名称为GraphicProcessingUnit,GPU中文全称为计算机图形处理器,年由NVIDIA公司提出。

一、GPU概述

GPU这一概念也是相对于计算机系统中的CPU而言的,由于人们对图形的需求越来越大,尤其是在家用系统和游戏发烧友,而传统的CPU不能满足现状,因此需要提供一个专门处理图形的核心处理器。

GPU作为硬件显卡的“心脏”,地位等同于CPU在计算机系统中的作用。同时GPU也可以用来作为区分2D硬件显卡和3D硬件显卡的重要依据。2D硬件显卡主要通过使用CPU来处理特性和3D图像,将其称作“软加速”。

3D硬件显卡则是把特性和3D图像的处理能力集中到硬件显卡中,也就是“硬件加速”。目前市场上流行的显卡多半是由NVIDIA及ATI这两家公司生产的。

1.1、为什么需要专门出现GPU来处理图形工作,CPU为啥不可以?

GPU是并行编程模型,和CPU的串行编程模型完全不同,导致很多CPU上优秀的算法都无法直接映射到GPU上,并且GPU的结构相当于共享存储式多处理结构,因此在GPU上设计的并行程序与CPU上的串行程序具有很大的差异。GPU主要采用立方环境的材质贴图、硬体TL、顶点混合、凹凸的映射贴图和纹理压缩、双重纹理四像素位的渲染引擎等重要技术。

由于图形渲染任务具有高度的并行性,因此GPU可以仅仅通过增加并行处理单元和存储器控制单元便可有效的提高处理能力和存储器带宽。

GPU设计目的和CPU截然不同,CPU是设计用来处理通用任务,因此具有复杂的控制单元,而GPU主要用来处理计算性强而逻辑性不强的计算任务,GPU中可利用的处理单元可以更多的作为执行单元。因此,相较于CPU,GPU在具备大量重复数据集运算和频繁内存访问等特点的应用场景中具有无可比拟的优势。

1.2、GPU如何使用?

使用GPU有两种方式,一种是开发的应用程序通过通用的图形库接口调用GPU设备,另一种是GPU自身提供API编程接口,应用程序通过GPU提供的API编程接口直接调用GPU设备。

1.2.1、通用图形库

通过通用的图形库的方式使用GPU,都是通过OpenGL或Direct3D这一类现有的图形函数库,以编写渲染语言(ShadingLanguage)的方法控制GPU内部的渲染器(Shader)来完成需要的计算。

目前业界公认的图形编程接口主要有OpenGL和DirectX这两种接口。OpenGL是当前可用于开发可交互、可移植的2D与3D图形应用程序的首选环境,也是当前图形应用最广泛的标准。OpenGL是SGI公司开发的计算机图形处理系统,是图形硬件的软件接口,GL为图形库(GraphicsLibrary),OpenGL应用程序不需要

分享 转发
TOP
发新话题 回复该主题