我試圖理解為什麼GPU消耗這麼多功率。例如,P100 GPU的最大功耗為250W。
據我所知,功率是用瓦特表示的,它是電壓x。給定固定的電源(即電壓),我會假設GPU消耗大量電流。如果我理解正確,為什麼GPU會消耗這麼多電流?
我認為GPU主要由晶體管組成?那麼,為什麼在GPU中配置晶體管會比在CPU中消耗更多功率?
謝謝!
我試圖理解為什麼GPU消耗這麼多功率。例如,P100 GPU的最大功耗為250W。
據我所知,功率是用瓦特表示的,它是電壓x。給定固定的電源(即電壓),我會假設GPU消耗大量電流。如果我理解正確,為什麼GPU會消耗這麼多電流?
我認為GPU主要由晶體管組成?那麼,為什麼在GPU中配置晶體管會比在CPU中消耗更多功率?
謝謝!
GPU基本上是許多並行的簡化CPU。它們中的每一個都不像真正的CPU那樣強大和靈活,但是有成千上萬的它們可以提供如此強大的並行計算性能。
但這還意味著構建現代GPU需要數十億個晶體管。對於邏輯芯片,我們使用FET,因此在每個時鐘週期中,數十億的柵極電容都必須充電和放電。這就是大量電力的去向。
這個問題詢問為什麼給定CPU上的更快時鐘需要更多功率,並且有很多非常好的答案。
回答這些問題,並添加一個事實,即功耗不僅是所涉及的邏輯切換速度如此之快的結果,而且還取決於其中的多少——GPU具有很多邏輯,辛苦工作時,所有這些都會瘋狂地切換。
GPU消耗大量功率,因為它們具有大量的高頻開關晶體管。
相對於高端GPU,CPU通常可隨時切換的晶體管數量少得多,因此不需要那麼多的電源。並非總是如此,您可以獲得功率要求非常高的低功耗GPU和巨大的服務器CPU。
GPU是許多並行運行的較小的處理器。
每個處理器包含許多晶體管。許多並行處理器意味著更多的晶體管。
每個晶體管每次切換時,都必須對晶體管內部的寄生電容進行充電或放電。因此,晶體管切換的次數越多,此電容被充電/放電的頻率就越高,這意味著功耗就越大。 GPU運行速度很快,因此切換非常頻繁。
因此,GPU包含許多同時開關的晶體管(因為不僅僅是每個處理器在一個瞬間運行,它的許多處理器在任一瞬間運行)而且開關經常意味著很高的充電和放電電流所有這些寄生電容器。
與GPU內的任何單個處理器相比,普通處理器具有更高的功能,因此比它更複雜,晶體管更多,但它一次也只做一兩件事,因此只有一小部分晶體管可以工作。隨時切換。
注意:這只是對@ user1850479發布的答案的簡短評論(為什麼GPU會消耗這麼多功率?);它作為“答案”存在的唯一原因是發表評論需要50個信譽,而我沒有。如果有人希望通過將其內容複製到適當位置的(true)評論來提供幫助,那麼我認為這很好,因此可以刪除此帖子。無需歸因或認可。許可證: CC0謝謝。 :)
還值得注意的是,與執行標準指令相比,執行向量指令(SSE,AVX變體)的CPU消耗的功率更多。可以通過運行3D程序並強制它們使用軟件光柵化程序來觀察到這一點-本質上,是迫使CPU承擔類似GPU的工作負載-例如 WARP或 SwiftShader,通常會大量使用向量指令。英特爾的處理器甚至具有特定於AVX的功率調節功能,可將處理器保持在其額定的 TDP內。