0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPU和CPU谁最强呢?

马哥Linux运维 来源:马哥Linux运维 2023-05-10 10:23 次阅读

近几个月,几乎每个行业的小伙伴都了解到了ChatGPT的可怕能力。你知道么,ChatGPT之所以如此厉害,是因为它用到了几万张NVIDA Tesla A100显卡做AI推理和图形计算。

本文就简单分享下GPU的相关内容,欢迎阅读。

GPU是什么?

GPU的英文全称Graphics Processing Unit,图形处理单元。

说直白一点:GPU是一款专门的图形处理芯片,做图形渲染、数值分析、金融分析、密码破解,以及其他数学计算与几何运算的。GPU可以在PC、工作站、游戏主机、手机、平板等多种智能终端设备上运行。

GPU和显卡的关系,就像是CPU和主板的关系。前者是显卡的心脏,后者是主板的心脏。有些小伙伴会把GPU和显卡当成一个东西,其实还有些差别的,显卡不仅包括GPU,还有一些显存、VRM稳压模块、MRAM芯片、总线、风扇、外围设备接口等等。

GPU和CPU谁最强呢?

这个其实不好说,好点的GPU内部的晶体管数量可以超过CPU,CPU的强项是做逻辑运算,GPU的强项是做数学运算和图形渲染。这就ChatGPT用大量高性能显卡做AI推理的原因。

接下来,我们做个简单的对比。

结构组成不同

CPU和GPU都是运算的处理器,在架构组成上都包括3个部分:运算单元ALU、控制单元Control和缓存单元Cache。

但是,三者的组成比例却相差很大。

在CPU中缓存单元大概占50%,控制单元25%,运算单元25%;

在GPU中缓存单元大概占5%,控制单元5%,运算单元90%。

f971b858-ee7d-11ed-90ce-dac502259ad0.png

结构组成上的巨大差异说明:CPU的运算能力更加均衡,但是不适合做大量的运算;GPU更适合做大量运算。

这倒不是说GPU更牛X,实际上GPU更像是一大群工厂流水线上的工人,适合做大量的简单运算,很复杂的搞不了。但是简单的事情做得非常快,比CPU要快得多。

相比GPU,CPU更像是技术专家,可以做复杂的运算,比如逻辑运算、响应用户请求、网络通信等。但是因为ALU占比较少、内核少,所以适合做相对少量的复杂运算。

f97fc8ee-ee7d-11ed-90ce-dac502259ad0.png

在CPU里面,大概50%是缓存单元,并且是四级缓存结构;而在GPU中,缓存是一级或者二级的。

CPU性能更加注重线程的性能,在控制部分做的事情较多,这样做就是为了确保控制指令不能中断,在浮点计算上功耗少。

相较于CPU,GPU的结构更为简单,基本上它也只做单精度或双精度浮点运算。GPU的运算速度更快,吞吐量也更高。

CPU基本上是实时响应,采用多级缓存来保障多个任务的响应速度。

GPU往往采用的是批处理的机制,即:任务先排好队,挨个处理。

fa2f672c-ee7d-11ed-90ce-dac502259ad0.png

GPU对于图形处理

我们假设在实时渲染中,一帧1080*720P的图片,那么这张图就有大概777600个像素点。如果按照最基本的24帧/秒的帧率计算。1秒钟就要求计算机处理18662400个,即:1866.24万个像素点。

这还是高清的情况下,如果是1090*1080、2K、4K甚至8K的视频渲染,可想而知,这个计算量是何其巨大。尤其是在像游戏这样的实时渲染场景下,显然仅仅依靠CPU渲染是会超时的。

实际上,在屏幕中显示的三维物体都要经过多重的坐标变换,并且物体的表面会受到环境中各种光线的影响,呈现不同的颜色和阴影。这就包括了光线的漫射、折射、透射、散射等。

fa5e68b0-ee7d-11ed-90ce-dac502259ad0.jpg

接下来,我们以英伟达NVIDIA RTX3090 为例,看下GPU是如何进行渲染的。

RTX3090的流式多处理器有10496个,每个内核都有具备整数运算和浮点运算的部分,还有用于在操作数中排队和收集结果的部分。

所谓流式多处理器可以认为是一个独立的任务处理单元,也可以认为一颗GPU包含了10496个CPU同时处理各个图片处理任务。

fa66a96c-ee7d-11ed-90ce-dac502259ad0.png

我们就可以通过算法和程序,对1秒钟18662400个像素点的整体任务进行切割分片,让10496颗处理器并行计算。

这样的话,每个处理器负责大概每秒处理18662400/10496,即1778个像素点的渲染任务就行了。

如下图所示,在GPU中会划分为多个流式处理区,每个处理区包含数百个内核,每个内核相当于一颗简化版的CPU,具备整数运算和浮点运算的功能,以及排队和结果收集功能。

fa7050ca-ee7d-11ed-90ce-dac502259ad0.png

注意,除了流处理器CUDA以外,影响GPU性能的还有

缓存不同

浮点运算方式不同

响应方式不同

核心频率:频率越高,性能越强、功耗也越高。

显示位宽:单位是bit,位宽决定了显卡同时可以处理的数据量,越大越好。

显存容量:显存容量越大,代表能缓存的数据就越多。

显存频率:单位是MHz或bps,显存频率越高,图形数据传输速度就越快。

总结

一言以蔽之,GPU不管是处理图形渲染、数值分析,还是处理AI推理。底层逻辑都是将极为繁重的数学进行任务拆解,化繁为简。

然后,利用GPU多流处理器的机制,将大量的运算拆解为一个个小的、简单的运算,并行处理。我们也可以认为一个GPU就是一个集群,里面每个流处理器都是一颗CPU,这样就容易理解了。

fb1fc564-ee7d-11ed-90ce-dac502259ad0.png

以上是关于GPU概念、工作原理的简要介绍。说是简单,其实在图形处理方面,还有很多深层次的处理逻辑没有展开,比如像素位置变换、三角原理等等。感兴趣的小伙伴可以深入研究下。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4417

    浏览量

    126705
  • 主板
    +关注

    关注

    52

    文章

    1628

    浏览量

    68136
  • 显卡
    +关注

    关注

    16

    文章

    2357

    浏览量

    65854

原文标题:总结

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA比CPUGPU快的原理是什么

    本文首先阐述了FPGA的原理了,其次分析了FPGA比CPUGPU快的原理,最后阐述了CPUGPU的区别。
    的头像 发表于 05-31 09:00 1.6w次阅读
    FPGA比<b class='flag-5'>CPU</b>和<b class='flag-5'>GPU</b>快的原理是什么

    CPUGPU的Intel可能砍掉最强核显Iris Pro

    Intel不是GPU公司,但因为旗下的桌面CPU基本上都整合了GPU单元,半卖半送之下Intel坐拥全球最大的GPU份额,而且大部分时间都超过70%,简直是“垄断”。2013年随着Ha
    发表于 09-23 15:08 2165次阅读
    买<b class='flag-5'>CPU</b>送<b class='flag-5'>GPU</b>的Intel可能砍掉<b class='flag-5'>最强</b>核显Iris Pro

    为什么计算机不用DSP而是用CPU/GPU

    我们知道DSP芯片处理数字信号速度快,精度高,那为什么计算机不用DSP而是用CPU/GPU?或者说计算机有哪个模块是使用了DSP的吗?那么计算机中有硬件乘法器吗?
    发表于 05-20 16:51

    GPUCPU的区别是什么

    GPU是如何工作的GPU与DSP区别GPUCPU的区别是什么
    发表于 01-05 06:15

    请问CPUGPU的关系是什么?

    什么是显卡?什么是GPU?什么是CUDA?CPUGPU的关系是什么?
    发表于 09-27 08:22

    FPGA比CPUGPU快的原因

    CPUGPU都属于冯·诺依曼结构,指令译码执行,共享内存。FPGA之所以比CPUGPU更快,本质上是因为其无指令,无共享内存的体系结构所决定的。
    的头像 发表于 04-02 17:52 9.6w次阅读

    CPU-GPU同步暂停

    使用Intel INDE工具删除CPU-GPU同步暂停,该暂停导致CPUGPU之间的某些并行性丢失。
    的头像 发表于 05-31 15:18 1346次阅读

    GPUCPU间的比较

    GPUCPU比较,GPU为什么更适合深度学习?
    的头像 发表于 08-26 15:32 4302次阅读

    一文知道CPUGPU的区别

    对于GPU,大家想必也十分熟悉。但是,大家真的了解GPU吗?譬如,GPU和显卡是同一个东西吗?CPUGPU有什么区别吗?
    的头像 发表于 11-23 10:14 4819次阅读

    CPUGPU、TPU、NPU等的讲解

    CPUGPU、TPU、NPU等的讲解
    的头像 发表于 01-05 14:54 9813次阅读

    CPUGPU的区别有哪些

    CPUGPU的区别有哪些呢?接下来简单给大家介绍一下关于GPUCPU的区别。
    的头像 发表于 01-06 17:07 2.8w次阅读

    恒讯科技分析:GPU是什么和CPU的区别?

    GPU是什么和CPU的区别?CPU是计算机的中央处理单元,可以以最小的延迟执行算术和逻辑运算。相比之下,GPU是一种嵌入式或外部图形处理单元,可以执行浮点运算以在高分辨率图像和视频中渲
    的头像 发表于 05-25 17:23 1898次阅读

    什么是GPUCPUGPUCPU的区别及联系

    GPUCPU是计算机系统中最重要的两种处理器,它们在不同的应用中发挥不同的作用。
    发表于 08-09 18:24 2866次阅读

    为什么GPUCPU更快?

    GPUCPU更快的原因并行处理能力:GPU可以同时处理多个任务和数据,而CPU通常只能一次处理一项任务。这是因为GPU的架构使得它可以同时
    的头像 发表于 01-26 08:30 673次阅读
    为什么<b class='flag-5'>GPU</b>比<b class='flag-5'>CPU</b>更快?