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