发布日期:2025-01-11 17:49 点击次数:149
最近麻生希快播,一段 2009 年的老视频在 X 上走红,这段仅 90 秒的视频直不雅地展示了 CPU(中央处理器)与 GPU(图形处理器)之间的区别:
这个视频的主要内容是:CPU 和 GPU 进行了一场“绘制对决”。这两种处理器一语气到一台不错辐照彩弹的安装上。
其中,CPU 用了整整 30 秒才画出一个浮浅的笑容:
而 GPU 则能骤然画出《蒙娜丽莎》:
从这段视频中,咱们不错得出的论断是:CPU 速率较慢,而 GPU 则快得多。不外此论断仅限于该视频,毕竟这个视频并未揭示对于 CPU 和 GPU 更深端倪的细节。
每秒万亿次浮点运算(TFLOPS)
当咱们说 GPU 比 CPU 性能更强时,频繁会参考一个叫 TFLOPS 的测量贪图,这个贪图研究的是处理器每秒不错引申若干万亿次数学运算。举例,Nvidia 的 A100 GPU 不错达到 9.7 TFLOPS(每秒 9.7 万亿次运算),而最新的 Intel 24 核处理器只可达到 0.33 TFLOPS。这意味着,即即是中等确立的 GPU,其速率也至少是顶级 CPU 的 30 倍以上。
关联词,我的 MacBook(搭载 Apple M3 芯片)中既有 CPU 也有 GPU——为什么呢?咱们就不周到齐消灭这些“极其逐步”的 CPU 吗?
不同类型的范例
为了更好地领略为什么咱们需要 CPU 与 GPU 两种处理器,让咱们先界说两类范例:规章范例和并行范例。
(1)规章范例
规章范例是指通盘请示必须一个接一个、隐世无争地次第引申。比如底下这段代码:
import random
def random_multiply:n = 1
for _ in range(100):n *= random.randint(1麻生希快播, 10)
return n
在这个例子中,n 需要一语气乘以 100 个立地数,且每个步调齐依赖于前一步的成果。如果你要手动进行这些贪图,就不成将任务分给一又友说:“你算前 50 步,我算后 50 步。”因为你们齐需要按照规章引申通盘步调,才略得到准确的成果。
(2)并行范例
并行范例则是指多个请示不错同期引申,因为它们之间不存在依赖相关。举例:
def parallel_multiply:numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]results =
for n in numbers:results.append(n * 2)
return results
在这个例子中,十个乘法操作全齐孤苦,相互间莫得依赖性。要道在于,这些步调的规章并不伏击。因此,如果你思要单干配合,就不错说:“你厚爱贪图奇数,我厚爱贪图偶数。”这样,两东说念主不错分别且同步责任,最终得到正确谜底。
诞妄的二分法
履行上,这种分手是一种诞妄的二分法。事实上,大多数履行诈欺齐是由规章和并行代码羼杂构成的,每个范例中齐会有一部分代码不错并行化。
举个例子,假定有一个范例需要入手 20 次贪图,其中前 10 次相互依赖,但后 10 个贪图不错并行引申。咱们就会说这个范例是“50% 可并行化”,即一半的请示不错孤苦引申,也就是说它们不错同期进行。集会之前的两个示例,咱们不错将其构形成一段 50% 可并行化的代码:
def half_parallelizeable:
# Part 1: Each step depends on the last
sequential_list = [1]for _ in range(9):next_value = sequential_list[-1] * random.randint(1, 10)sequential_list.append(next_value)
# Part 2: Each step is independent of each otherparallel_results =for n in sequential_list:parallel_results.append(n * 2)return sequential_list, parallel_results
在这个例子中,第一部分照实必须规章引申,因为 sequential_list 中的每个数值齐依赖于前一个值。但第二部分则不错对已完陈列表中的每个值引申孤苦的操作。
对于第一部分的贪图,你需要比及前一个数值贪图完了才略陆续;但在有了完竣列表之后,你就不错将乘法操作分派给通盘可用的责任单位,从而完结并行处理。
不同的处理器适用于不同类型的范例
总体来说,CPU 合适入手规章范例,而 GPU 更擅长引申并行范例。这主如果因为 CPU 和 GPU 在设想上有根人道的各别。
CPU 领有极少的大中枢(如 Apple M3 有 8 个中枢),而 GPU 则包含多半的小中枢(举例 NVIDIA H100 GPU 罕有千个中枢)。这就是为什么 GPU 畸形合适入手高度并行的范例——它领罕有千个浮浅的中枢,不错同期对不同的数据引申研讨的操作。
渲染视频游戏图形就是一个需要多半浮浅叠加贪图的诈欺场景。思象一下,游戏画面就是一个纷乱的像素矩阵。当你骤然将变装向右转时,屏幕上通盘的像素齐需要再行贪图新的模式值。好在,屏幕顶部像素的贪图与屏幕底部像素的贪图是相互孤苦的,因此,这些贪图不错被分派到 GPU 的数千个中枢上并行引申。这就是为什么 GPU 在游戏中至关伏击的原因。
CPU 擅所长理立地事件
在处理高度并行的任务时,举例乘对一个包含 10,000 个孤苦数字的矩阵进行乘法运算,CPU 的速率远远不如 GPU。关联词,CPU 在引申复杂的规章处理和决议制定时,却能展现出超卓的性能。
你不错把 CPU 中枢比作迂回餐厅厨房中的主厨。这个主厨简略:
● 在 VIP 来宾到来并提倡超越饮食要求时,立即调治我方的烹调谋划;
● 在准备精致酱汁和检查烤蔬菜之间无缝切换;
● 遭遇突发现象(比如停电)时,能再行组织通盘厨房的责任历程来应酬不测;
● 融合多说念菜肴,确保它们在恰到克己的时候热腾腾地送到桌上;
● 在处理不同状态的几十个订单时,也曾保捏食物性量。
比拟之下,GPU 中枢就像一百名擅长叠加任务的厨师——他们能在 2 秒钟内切好一个洋葱,但无法有用惩处通盘厨房。如果你要求 GPU 处理餐厅工作中握住变化的需求,它可能会力不从心。
这就是为什么 CPU 对于入手贪图机的操作系统至关伏击。当代贪图机靠近着多半不可展望的事件:诈欺范例的启动与住手、网罗一语气的中断、文献的拜访以及用户在屏幕上的立场所击等。CPU 畸形擅所长理这些任务,同期保捏系统的反应速率。它不错立即从匡助 Chrome 渲染网页切换到处理 Zoom 视频通话,再到处理新的 USB 建造一语气——同期还在追踪系统资源,确保每个诈欺范例齐能平允地获取资源
因此,尽管 GPU 在并行处理上办法出色,但 CPU 因其专有的处理复杂逻辑蔼然应变化要求的才略,仍然是必不可少的。像 Apple M3 这样的当代芯片将二者集会,既具备了 CPU 的活泼性,又能提供 GPU 的将强贪图才略。
事实上,如果要再行制作阿谁绘制视频,还有一个更准确的版块:让 CPU 厚爱惩处图像下载和内存分派麻生希快播,然后将责任交给 GPU 来飞快渲染像素。
上一篇:耳光 调教 梁念念成:在建筑里发现中国
下一篇:麻生希快播 杭州余杭街头小货车自燃!洒水车变“消防车”,硬核拯救!