中央處理單元 (CPU) 是延遲優(yōu)化的通用處理器,旨在按順序處理各種不同的任務(wù),而圖形處理單元 (GPU) 是吞吐量優(yōu)化的專用處理器,專為高端并行計算而設(shè)計。下面,小編就大家比較下GPU與CPU。
一、什么是CPU?
中央處理器 (CPU) 是計算機的大腦。CPU的主要工作是通過 fetch-decode-execute循環(huán)執(zhí)行各種指令,以管理計算機的各個部分并運行各種計算機程序。
CPU架構(gòu)
CPU在按順序處理數(shù)據(jù)方面非???,因為它幾乎沒有具有高時鐘速度的重量級內(nèi)核。它就像一把瑞士軍刀,可以很好地處理各種任務(wù)。CPU 是延遲優(yōu)化的,可以在多個任務(wù)之間快速切換,這可能會產(chǎn)生并行性的印象。然而,從根本上說,它旨在一次運行一項任務(wù)。
二、什么是 GPU?
圖形處理單元 (GPU) 是一種專門的處理器,其工作是快速操作內(nèi)存并加速計算機以完成許多需要高度并行性的特定任務(wù)。
GPU架構(gòu)
由于GPU使用了數(shù)千個輕量級內(nèi)核,其指令集針對維度矩陣算術(shù)和浮點計算進(jìn)行了優(yōu)化,因此它在處理線性代數(shù)和需要高度并行性的類似任務(wù)時速度非???。根據(jù)經(jīng)驗,如果算法接受矢量化數(shù)據(jù),那么這項工作可能非常適合GPU計算。
從架構(gòu)上講,GPU 的內(nèi)部存儲器具有點對點連接的寬接口,可加速存儲器吞吐量并增加 GPU在給定時刻可以處理的數(shù)據(jù)量。它旨在一次快速處理大量數(shù)據(jù)。
三、GPU與CPU之間的比較
CPU和GPU的限制歸結(jié)為確切的用例場景。在某些情況下,使用CPU就足夠了,而其他應(yīng)用程序可能使用GPU加速器比較好?,F(xiàn)在讓我們了解下CPU和GPU 處理器的一些普遍弱點,以幫助我們決定是否需要它們。
1、CPU局限性
(1)重量級指令集
將日益復(fù)雜的指令直接嵌入 CPU 硬件的趨勢是一種現(xiàn)代趨勢,但也有其不利之處。為了執(zhí)行一些更困難的指令,CPU有時需要旋轉(zhuǎn)數(shù)百個時鐘周期。盡管英特爾使用具有指令級并行性的指令流水線來緩解此限制,但它正在成為整體CPU性能的開銷。
(2)上下文切換延遲
上下文切換延遲是CPU內(nèi)核在線程之間切換所需的時間。任務(wù)之間的切換非常緩慢,因為我們的CPU必須存儲寄存器和狀態(tài)變量、刷新高速緩存和執(zhí)行其他類型的清理活動。盡管現(xiàn)代CPU處理器試圖通過降低多任務(wù)延遲的任務(wù)狀態(tài)段來解決這個問題,但上下文切換仍然是一個昂貴的過程。
(3)摩爾定律
集成電路上每平方英寸的晶體管數(shù)量每兩年翻一番的想法可能即將結(jié)束。你可以在一塊硅上安裝多少晶體管是有限度的,而且你無法超越物理學(xué)。相反,工程師們一直在嘗試借助分布式計算來提高計算效率,并嘗試使用量子計算機,甚至試圖尋找用于CPU制造的硅替代品。
2、GPU局限性
(1)功能較弱的核心
盡管GPU具有更多內(nèi)核,但在時鐘速度方面,它們的功能不如CPU同類產(chǎn)品。GPU內(nèi)核的指令集種類較少,但指令集更為專業(yè)。這不一定是壞事,因為GPU對于一小部分特定任務(wù)非常有效。
(2)更少的內(nèi)存
GPU還受到它們可以擁有的最大內(nèi)存量的限制。盡管GPU處理器可以在給定時刻比CPU移動更多的信息,但GPU內(nèi)存訪問的延遲要高得多。
(3)有限的 API
最流行的GPU API是OpenCL和CUDA。不幸的是,它們都以難以調(diào)試而聞名。盡管OpenCL是開源的,但在Nvidia硬件上運行速度相當(dāng)慢。另一方面,CUDA是專有的Nvidia API,并針對Nvidia GPU進(jìn)行了優(yōu)化,但它也會自動將我們鎖定在其硬件生態(tài)系統(tǒng)中。
總結(jié):CPU 和 GPU 都有不同的優(yōu)勢領(lǐng)域,在為我們的項目選擇最佳硬件時,了解它們的局限性會讓我們更好選擇。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站