了解为什么 GPU 比 CPU 更快

小夏 数码 更新 2024-01-31

在过去的几十年里,GPU 越来越受欢迎,尤其是最近 ChatGPT 大火,大模型训练背后的硬件 GPU 已经到了难以找到的地步。

你有没有想过为什么你必须使用GPU?CPU 是否过时?

今天我们就来谈谈为什么GPU比CPU快!

简单地说 GPU 快或 CPU 快是不公平的。 两者的设计理念并不相同。

CPU 被称为计算机的"脑"它主要承担计算的处理功能,必须依赖操作系统和应用程序等操作,CPU也决定了计算机的整体速度。

GPU的作用更加专业,它最初是为辅助3D渲染而设计的,可以同时并行更多的指令,非常适合当今更流行的工作负载,如动画渲染、图像处理、人工智能等。

简单来说,CPU 针对延迟进行了优化,而 GPU 则针对带宽进行了优化。 CPU 更擅长一次处理一个任务,而 GPU 可以同时处理多个任务。 就像有些人擅长一个接一个地执行任务一样,其他人可以同时完成多项任务。

让我们用一个类比,用通俗易懂的术语来解释两者之间的区别。 CPU 就像一辆法拉利,GPU 是一辆货运卡车,两者的任务是将 100 个包裹从位置 A 运送到位置 B,CPU(法拉利)可以快速获取 RAM(货物)中的一些内存数据,而 GPU(货运卡车)执行速度较慢(延迟较高)。 但是CPU(法拉利)一次只能发货2个包裹,完全发货需要50次。

另一方面,GPU(货运卡车)可以一次获取更多内存数据以进行运输。

换句话说,CPU 更倾向于快速处理少量数据(例如算术运算:567),而 GPU 更擅长处理大量重复数据(例如,矩阵运算:(ab)c)。 因此,虽然单次发货的 CPU 时间更快,但在处理大量重复性工作负载(如图像处理、动画渲染和深度学习)时,GPU 优势更为显著。

然而,GPU 最大的问题是延迟对性能的影响,但对于典型的深度学习任务场景,数据通常占用大块连续内存空间,GPU 可以提供最佳的内存带宽,线程并行性导致的延迟几乎没有影响。

那么,是什么导致 CPU 和 GPU 的工作方式不同呢?这也取决于两者的设计结构。

以下两张图可以帮助我们了解 CPU 和 GPU 工作方式的差异。 正如我们上面提到的,CPU 是为顺序串行处理而设计的,GPU 是为并行数据而设计的,GPU 有数百个更小、更简单的内容,而 CPU 有几个大而复杂的内核。

GPU 内核经过优化,可同时对多个数据元素执行类似的简单处理操作。 此外,CPU针对顺序指令处理进行了优化,这也导致了两者在核心处理能力上的差异。

网上有一个比喻来比较GPU和CPU核心的区别,我觉得很贴切,CPU的核心就像一个知识渊博的教授,GPU的核心更像是一群小学生,他们只会做简单的算术运算,但就算教授很厉害, 他不可能在一秒钟内计算出500次加减法,所以对于简单重复的计算,单个教授是无法与大量小学生相提并论的,而在简单的算术运算方面,500名小学生(并发)轻松击败教授。

除了计算差异之外,GPU 还利用专用的高带宽内存架构将数据传送到所有内核,而当今的 GPU 通常使用 GDDR 或 HBM 内存,它们提供的带宽比 CPU 中的标准 DDR 内存带宽更大。

GPU 处理的数据被传输到这个专用内存中,以最大限度地减少并行计算期间的访问延迟。 GPU 的内存是分段的,因此可以执行来自不同内核的并发访问,以获得最大吞吐量。

相比之下,CPU 内存系统针对缓存数据的低延迟访问进行了高度优化。 对总带宽的重视程度较低,这降低了数据并行工作负载的效率。

专用内核和内存的组合使 GPU 能够比 CPU 更大程度地利用数据并行性。 对于图形、渲染等任务,同一个着色器程序可以在多个顶点或像素上并行运行。

现代 GPU 包含数千个内核,而高端 CPU 最多只有不到 100 个内核。 有了更多的内核,GPU可以在更宽的并行范围内以更高的算术强度处理数据。 对于并行工作负载,GPU 内核的吞吐量可以比 CPU 高 100 倍或更多。

相比之下,阿姆达尔定律意味着 CPU 在算法可以获得的并行加速方面受到限制。 即使有 100 个内部内核,由于串行部分和通信,实际速度也被限制在 10 倍或更低。 得益于其大规模并行架构,GPU 可以实现近乎完美的并行加速。

GPU 的另一个优点是实时 (JIT) 编译,它减少了调度并行工作负载的开销。 GPU 驱动程序和运行时具有 JIT 编译功能,可在执行之前将高级着色器转换为优化的设备指令。

这为程序员提供了灵活性,同时避免了 CPU 所需的传统离线编译步骤。 JIT 还支持基于运行时信息的优化,从而将 GPU 开销降低到几乎为零。

相比之下,CPU 必须坚持使用预编译的机器代码,并且不能根据运行时行为自适应地重新编译,因此 CPU 的调度开销更大,灵活性更低。

与 CPU 相比,GPU 还提供了更好的并行编程模型 CUDA,使开发人员能够更快地编写并行性,而不必担心低级线程、同步和通信。

CUDA 和 OpenCL 提供了 C C++ 编程语言,其中 ** 专注于跨抽象线程的并行计算,其中混乱的协调细节在幕后无形地处理。

相反,CPU 并行性需要使用 OpenMP 等库来直接处理线程。 **在流程管理、锁定和避免争用条件方面存在显著的额外复杂性。 这使得从高层次考虑并行性变得更加困难。

CPU基本上是实时响应的,单个任务的速度非常高,所以需要使用多层缓存来保证单个任务的速度。

GPU倾向于使用批处理机制,即任务先排队,然后逐个处理。

CPU擅长的操作系统等应用,需要对实时信息做出快速响应,需要针对时延进行优化,因此在分支、乱序执行、低时延缓存等控制部分需要使用晶体管数量和能耗。

GPU 适用于具有极高可扩展性和大量类似操作的架构,以及高延迟和高吞吐量的架构。 目前广泛应用于游戏、虚拟现实和深度学习三大应用市场。

1.游戏市场。

游戏是最早使用 GPU 的领域之一。 由于GPU在图像处理和物理方面的天然优势,被广泛用于游戏开发和游戏渲染。 在游戏中,GPU可以快速计算出大量的几何体、纹理、光影等数据,从而达到更逼真的画面效果。

第二,虚拟现实市场。

虚拟现实是一种将计算机生成的三维图像与现实世界相结合的技术。 GPU 可以在虚拟现实应用程序中实现虚拟世界的逼真渲染和对象移动的控制。 随着虚拟现实技术的不断发展,GPU 在虚拟现实市场中的应用越来越广泛,尤其是在头戴式设备和沉浸式体验中。

3.深度学习。

深度学习是一种基于人工神经网络的机器学习算法。 深度学习中的 GPU 可以有效地训练神经网络,并通过大规模并行计算加快训练过程。 目前,随着GPU在深度学习中的应用不断扩大,它已成为训练深度学习模型的主要加速器。

此外,GPU还可用于自动驾驶、医学影像分析、金融风控等领域。 但是,由于不同应用场景对GPU性能的要求不同,因此在选择GPU时需要考虑算力、功耗、应用领域等因素。 需要根据任务类型选择最合适的 GPU,并对其进行优化以利用其性能。

国产GPU的发展落后于国产CPU,直到2024年4月,精佳伟才成功研发出国产首款高性能、低功耗GPU芯片——JM5400。

在国产GPU的发展中,GPU对CPU的依赖性以及GPU研发的高难度阻碍了行业的快速发展。 首先,GPU 依赖于 CPU。 GPU结构没有控制器,必须由CPU控制才能工作,否则GPU无法单独工作。 因此,国产CPU领先国产GPU一步,符合芯片行业发展的逻辑。

此外,GPU技术非常困难。 Moor Insights&Strategy首席分析师Mohaird曾经说过:"开发 GPU 比开发 CPU 更困难,而且 GPU 设计人员、工程师和驱动程序开发人员更少。 "国内人才缺口也是国产GPU发展缓慢的重要原因之一。

目前,虽然我国GPU芯片仍占据很小的市场份额,但国产GPU芯片的进入者越来越多,越来越多的国产企业正在向图形处理领域转型,如芯动、晶佳微等,国产GPU芯片也有更好的发展机会。

现在,随着美国一系列政策的实施,很多人看到了国产GPU芯片取代进口芯片的未来,将开始从多个角度支持国产GPU芯片企业。 根据最新统计,国产GPU公司碧辰科技、摩尔线程、沐溪三家公司仅获得超过100亿元的投资,可见他们确实在技术研发投入上下了很大的力气。

目前看来,随着美国实施更多的出口管制措施,可能是:"中国芯"这一增长创造了一个机会之窗,这可能会给英伟达在中国市场带来更大的竞争压力。

相似文章

    一文了解订购系统为什么使用价值5个软件推荐

    我们去 京东买东西,其实是一种 下单 的形式,但我们只下单一个,我们是独立的个体。订货系统是批量订单,订单的主体一般是一个单元。所以总结一下,订货系统为网上购物订单,服务于厂家和下游经销商 商家和分销商,可以实现上下游订单。那么,公司为什么要使用订购系统呢?直接通过微信订购不可以吗?这种通过 或者微...

    阅读文章为什么应该更换烟囱避雷针

    烟囱避雷针的作用。烟囱避雷针是一种用于保护烟囱免受雷击的装置。在雷雨天气中,闪电会对烟囱造成损坏,因此安装烟囱避雷针是非常必要的。点击这里为您获得专业的客户服务!.保护烟囱免受雷击。烟囱避雷针的主要功能是保护烟囱免受雷击。在雷雨天气,闪电会对烟囱造成损坏,包括损坏烟囱结构和破坏烟囱的绝缘层。这不仅会...

    什么材料是好的梳子?在一篇文章中阅读

    在我们的日常生活中,梳子是我们梳理头发和造型不可或缺的。随着科技和工艺的发展,梳子的材质也在不断变化和丰富。那么,什么材料才是好的梳子呢?本文将为您详细介绍。.推荐的梳子材料。.木梳。木梳由桃花心木 黄杨木 红木等天然木材制成。这款梳子质地自然,触感温和,不产生静电,对头皮和头发有一定的保健作用。木...

    什么是工业互联网?

    工业互联网的概念 工业互联网是指新一代信息通信技术与传统产业的深度融合,通过物联网 云计算 大数据等现代信息技术手段,实现工业系统的智能化和优化升级。其核心是物理世界的联网,基于互联网技术重构工业系统的连接 运行和优化。工业互联网将制造业从过去的相对封闭状态转变为开放互联的新模式。通过构建端云协同的...

    为什么要打造智慧教室?一文看懂!

    智慧教室作为一种新兴的教育模式,逐渐受到越来越多人的关注。那么,我们为什么要建设智慧教室呢?本文将从多个方面探讨智慧教室的必要性和重要性。 提高教学效率 传统的教学方法往往受时间和空间等因素的限制,导致教学效率低下。广菱智慧教室通过智能教学设备和先进的技术手段,实现教学资源的优化配置,提高教学效率。...