題:
為什麼GPU會消耗這麼多功率?
Luke Taylor
2020-07-22 21:16:36 UTC
view on stackexchange narkive permalink

我試圖理解為什麼GPU消耗這麼多功率。例如,P100 GPU的最大功耗為250W。

據我所知,功率是用瓦特表示的,它是電壓x。給定固定的電源(即電壓),我會假設GPU消耗大量電流。如果我理解正確,為什麼GPU會消耗這麼多電流?

我認為GPU主要由晶體管組成?那麼,為什麼在GPU中配置晶體管會比在CPU中消耗更多功率?

謝謝!

TU106擁有100億個晶體管。如果每個晶體管需要10納安,則為100A。
GPU比CPU大得多,這是第一個線索。
因為他們在短時間內做了很多事情?如今,現代GPU最有可能是凡人可用的功能最強大的專用計算機。
本質上,GPU功耗的原因與CPU相同(https://electronics.stackexchange.com/questions/258724/why-do-cpus-need-so-much-current)。頂級GPU大於您所比較的CPU,因此需要更多的功能。
@ThorbjørnRavnAndersenColossus CG2芯片也出售給了凡人。
-1
請注意,高端CPU與高端GPU一樣耗電。當前的Ryzen Threadripper CPU [額定功率約為280 W](基於https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_microprocessors#Zen_2_based)。
問題的前提尚不清楚。您要問GPU消耗的功率要比what_多?平均工作量的平均CPU?CPU執行與GPU相同的計算速率?還有嗎
不幸的是,由於它受到保護,我無法對此添加答案,但是簡短的答案是:更好的問題是為什麼他們使用了“小功率”。就每FLOPS的功耗而言,GPU無疑是最省電的大眾市場計算設備。高端CPU具有幾十個內核。高端GPU有幾千個。該問題的答案是“因為它們的核心相對於CPU核心而言非常簡單,並且被設計為非常擅長在大型數據集上執行相同的浮點數學運算,而在其他方面卻表現不佳。”您幾乎需要FPGA或ASIC進行改進。
(如果此方法不受保護,請隨時對我執行ping操作,我將嘗試在註釋中寫出正確的答案。)
五 答案:
jusaca
2020-07-22 21:22:10 UTC
view on stackexchange narkive permalink

GPU基本上是許多並行的簡化CPU。它們中的每一個都不像真正的CPU那樣強大和靈活,但是有成千上萬的它們可以提供如此強大的並行計算性能。

但這還意味著構建現代GPU需要數十億個晶體管。對於邏輯芯片,我們使用FET,因此在每個時鐘週期中,數十億的柵極電容都必須充電和放電。這就是大量電力的去向。

取決於正在運行的計算,並非每個晶體管都會在每個週期切換一次。 (例如,如果另一個執行單元很忙,則某個執行單元可能處於空閒狀態,但通常一個或另一個正在切換,因此平均分數切換很可能類似)。還有那麼多晶體管的洩漏電流(靜態功率),包括很少開關的晶體管(例如在高速緩存陣列中)。只有完全切斷芯片部分電源的低功耗空閒狀態才能避免這種情況,而且從這種狀態喚醒需要花費時間,因此不能過分使用它們。時鐘門控有助於短暫的閒置...
但是是的,+ 1,這是細節的有用簡化。Giant芯片之所以熱銷,是因為即使它的頻率低於CPU來最大化每能量的計算量(而不是單線程CPU性能),它也仍然需要一些最小值,總之很多。
@PeterCordes我們真的在接近理論極限的地方了嗎?
@John:能量/計算?地獄不,*很多*數量級。但是,對於任何給定的矽工藝和芯片設計,都有一些電壓和頻率組合可以使能量/計算量最小化,而不是使時間/計算量最小化。低於該點,您浪費的電流浪費的能量要多於節省的動態功率,這也許是因為您不能再無誤地降低電壓了。GPU的目標是接近該工作點,並且只花更多的晶體管,CPU的目標是更高的頻率,因為它們需要處理無法完美並行化的問題。
@JohnDvorak關於理論上的限制,檢查的術語是“ Landauer原理”。正如彼得所說,在解決這個問題之前,我們還有很長的路要走。
TimWescott
2020-07-22 21:53:00 UTC
view on stackexchange narkive permalink

這個問題詢問為什麼給定CPU上的更快時鐘需要更多功率,並且有很多非常好的答案。

回答這些問題,並添加一個事實,即功耗不僅是所涉及的邏輯切換速度如此之快的結果,而且還取決於其中的多少——GPU具有很多邏輯,辛苦工作時,所有這些都會瘋狂地切換。

user1850479
2020-07-22 21:20:05 UTC
view on stackexchange narkive permalink

GPU消耗大量功率,因為它們具有大量的高頻開關晶體管。

相對於高端GPU,CPU通常可隨時切換的晶體管數量少得多,因此不需要那麼多的電源。並非總是如此,您可以獲得功率要求非常高的低功耗GPU和巨大的服務器CPU。

DKNguyen
2020-07-22 23:29:35 UTC
view on stackexchange narkive permalink

GPU是許多並行運行的較小的處理器。

每個處理器包含許多晶體管。許多並行處理器意味著更多的晶體管。

每個晶體管每次切換時,都必須對晶體管內部的寄生電容進行充電或放電。因此,晶體管切換的次數越多,此電容被充電/放電的頻率就越高,這意味著功耗就越大。 GPU運行速度很快,因此切換非常頻繁。

因此,GPU包含許多同時開關的晶體管(因為不僅僅是每個處理器在一個瞬間運行,它的許多處理器在任一瞬間運行)而且開關經常意味著很高的充電和放電電流所有這些寄生電容器。

與GPU內的任何單個處理器相比,普通處理器具有更高的功能,因此比它更複雜,晶體管更多,但它一次也只做一兩件事,因此只有一小部分晶體管可以工作。隨時切換。

user258330
2020-07-23 19:42:40 UTC
view on stackexchange narkive permalink

注意:這只是對@ user1850479發布的答案的簡短評論(為什麼GPU會消耗這麼多功率?);它作為“答案”存在的唯一原因是發表評論需要50個信譽,而我沒有。如果有人希望通過將其內容複製到適當位置的(true)評論來提供幫助,那麼我認為這很好,因此可以刪除此帖子。無需歸因或認可。許可證: CC0謝謝。 :)


還值得注意的是,與執行標準指令相比,執行向量指令(SSE,AVX變體)的CPU消耗的功率更多。可以通過運行3D程序並強制它們使用軟件光柵化程序來觀察到這一點-本質上,是迫使CPU承擔類似GPU的工作負載-例如 WARP SwiftShader,通常會大量使用向量指令。英特爾的處理器甚至具有特定於AVX的功率調節功能,可將處理器保持在其額定的 TDP內。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...