游戏引擎架构 云盘 理解GPU和CPU之间区别的一种简单方式是什么?

游戏引擎架构 云盘 理解GPU和CPU之间区别的一种简单方式是什么?

GPU全名为Graphics Processing Unit游戏素材下载 免费,又称视觉处理器、图形显示卡。GPU负责渲染出2D、3D、VR效果,主要专注于计算机图形图像领域。后来人们发现,GPU非常适合并行计算,可以加速现代科学计算,GPU也因此不再局限于游戏和视频领域。

游戏引擎架构 云盘_unity引擎架构原理_360云盘资源引擎

理解 GPU 和 CPU 之间区别的一种简单方式是比较它们如何处理任务。CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。

CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。

GPU可以利用多个CUDA核心来做并行计算,而CPU只能按照顺序进行串行计算,同样运行3000次的简单运算,CPU需要3000个时钟周期,而配有3000个CUDA核心的GPU运行只需要1个时钟周期。

游戏引擎架构 云盘_unity引擎架构原理_360云盘资源引擎

unity引擎架构原理_360云盘资源引擎_游戏引擎架构 云盘

Control是控制器

ALU算术逻辑单元

Cache是cpu内部缓存

DRAM就是内存。

可以看到GPU设计者将更多的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存。从实际来看游戏引擎架构 云盘,CPU芯片空间的5%是ALU,而GPU空间的40%是ALU。这也是导致GPU计算能力超强的原因。

GPU的重要参数有哪些呢?

CUDA核心;CUDA核心数量决定了GPU并行处理的能力,在深度学习、机器学习等并行计算类业务下,CUDA核心多意味着性能好一些

显存容量:其主要功能就是暂时储存GPU要处理的数据和处理完毕的数据。显存容量大小决定了GPU能够加载的数据量大小。

显存位宽:显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。

显存频率:一定程度上反应着该显存的速度,以MHz(兆赫兹)为单位,显存频率随着显存的类型、性能的不同而不同。显存频率和位宽决定显存带宽。

显存带宽:指显示芯片与显存之间的数据传输速率,它以字节/秒为单位。显存带宽是决定显卡性能和速度最重要的因素之一。

其他指标:除了显卡通用指标外,NVIDIA还有一些针对特定场景优化的指标,例如TsnsoCore、RTCoreRT等能力。例如TensenCore专门用于加速深度学习中的张量运算。

GDDR5和HBM显存是目前最主流的显存技术。

gDDR3显存基本上是NVIDIA及AMD部分低端显卡在用。GDDR5绝对是目前的主流,单颗芯片的容量逐渐从之前的2Gb提高到4Gb,美光前不久还量产出货了8Gb(1GB)颗粒的游戏素材下载 免费,高端显卡也只要4-8颗芯片即可实现4-8GB容量显存。

GPU卡形态:

PCI Express 标卡:FHFL or HHHL 300W游戏引擎架构 云盘,外接供电

360云盘资源引擎_unity引擎架构原理_游戏引擎架构 云盘

SXM,支持NVLink接口。NVLink是NVIDIA开发的用于CPU和GPU之间以及不同GPU之间高速直连通讯的互联机制。

360云盘资源引擎_游戏引擎架构 云盘_unity引擎架构原理

MXM(Mobile PCI Express Module),主要用于刀片服务器或者笔记本工作站。

360云盘资源引擎_unity引擎架构原理_游戏引擎架构 云盘

CUDA介绍

CUDA的全称是Computer Unified Device Architecture(计算机统一设备架构),它是NVIDIA在2007年推向市场的并行计算架构。CUDA作为NVIDIA图形处理器的通用计算引擎,提供给我们利用NVIDIA显卡进行GPGPU(General Purpose Graphics Process Unit)开发的全套工具。

CUDA 软件堆栈由几层组成,如图所示:一个硬件驱动程序,一个应用程序编程接口(API)和它的Runtime,还有二个高级的通用数学库: CUFFT和CUBLAS。

CUDA是一个并行计算的架构,包含有一个指令集架构和相应的硬件引擎。OpenCL是一个并行计算的应用程序编程接口(API),在NVIDIA CUDA架构上OpenCL是除了C for CUDA外新增的一个CUDA程序开发途径。

GPU应用场景

深度学习是模拟人脑神经系统而建立的数学网络模型,这个模型的最大特点是,需要大数据来训练。因此,对电脑处理器的要求,就是需要大量的并行的重复计算,GPU正好有这个专长,时势造英雄,因此,GPU就出山担当重任了。

训练:我们可以把深度学习的训练看成学习过程。人工神经网络是分层的、是在层与层之间互相连接的、网络中数据的传播是有向的。训练神经网络的时候,训练数据被输入到网络的第一层。然后所有的神经元,都会根据任务执行的情况,根据其正确或者错误的程度如何,分配一个权重参数(权值)。

推理:就是深度学习把从训练中学习到的能力应用到工作中去。不难想象,没有训练就没法实现推断。我们人也是这样,通过学习来获取知识、提高能力。深度神经网络也是一样,训练完成后,并不需要其训练时那样的海量资源。

高性能计算应用程序涵盖了物理、生物科学、分子动力学、化学和天气预报等各个领域。也都是通过GPU实现加速的。

文章来源:https://www.ctyun.cn/developer/article/409637743407173