我试图了解为什么 GPU 会消耗如此多的电量。例如,P100 GPU 的最大功耗为 250W。
据我了解,功率是以瓦特为单位的current x voltage
。给定一个固定的电源(即电压),我会假设 GPU 会消耗大量电流。如果我理解正确,为什么 GPU 会消耗这么多电流?
我认为GPU主要由晶体管组成?那么为什么 GPU 中的晶体管配置会导致比 CPU 消耗更多的功率呢?
谢谢!
我试图了解为什么 GPU 会消耗如此多的电量。例如,P100 GPU 的最大功耗为 250W。
据我了解,功率是以瓦特为单位的current x voltage
。给定一个固定的电源(即电压),我会假设 GPU 会消耗大量电流。如果我理解正确,为什么 GPU 会消耗这么多电流?
我认为GPU主要由晶体管组成?那么为什么 GPU 中的晶体管配置会导致比 CPU 消耗更多的功率呢?
谢谢!
GPU 基本上是许多并行的简化 CPU。它们中的每一个都不像真正的 CPU 那样强大和灵活,但是有成千上万的它们来提供这种巨大的并行计算性能。
但这也意味着构建现代 GPU 需要数十亿个晶体管。对于逻辑芯片,我们使用 FET,因此每个时钟周期都必须对数十亿个栅极电容进行充电和放电。这就是大功率的去向。
这个问题询问为什么给定 CPU 中更快的时钟需要更多功率,并且有许多非常好的答案。
接受这些答案,并向他们添加一个事实,即功耗不仅取决于所涉及的逻辑切换的速度,还取决于它的数量——GPU有很多很多的逻辑,所有这些工作辛苦的时候疯狂切换。
GPU 会消耗大量功率,因为它们有大量的高频晶体管开关。
相对于高端 GPU,CPU 通常在任何时候切换的晶体管要少得多,因此不需要太多的功率。这并不总是正确的,您可以获得低功率 GPU 和具有非常高功率要求的巨大服务器 CPU。
GPU 是许多较小的处理器同时并行运行。
每个处理器都包含许多晶体管。许多处理器并行意味着更多的晶体管。
每个晶体管每次开关时,都必须对晶体管内部的寄生电容进行充电或放电。因此,晶体管开关越频繁,该电容被充电/放电的频率就越高,这意味着消耗的功率越多。GPU 运行速度很快,因此它们经常切换。
因此,GPU 包含许多同时切换的晶体管这一事实(因为它不仅仅是一个处理器在任何一个瞬间运行,它的许多处理器在任何一个瞬间运行)并且经常切换意味着非常高的电流来充电和放电所有这些寄生电容器同时。
普通处理器比 GPU 中的任何单个处理器都更复杂,并且具有更多晶体管,因为它具有更高的功能,但它一次也只做一两件事,因此只有一小部分晶体管在任何时候都在切换时间点。