< 返回新聞公共列表

GPU與CPU之間的比較

發(fā)布時(shí)間:2022-11-01 17:31:09

中央處理單元 (CPU) 是延遲優(yōu)化的通用處理器,旨在按順序處理各種不同的任務(wù),而圖形處理單元 (GPU) 是吞吐量?jī)?yōu)化的專(zhuān)用處理器,專(zhuān)為高端并行計(jì)算而設(shè)計(jì)。下面,小編就大家比較下GPU與CPU。


GPU與CPU之間的比較.png


一、什么是CPU?

中央處理器 (CPU) 是計(jì)算機(jī)的大腦。CPU的主要工作是通過(guò) fetch-decode-execute循環(huán)執(zhí)行各種指令,以管理計(jì)算機(jī)的各個(gè)部分并運(yùn)行各種計(jì)算機(jī)程序。

CPU架構(gòu)

CPU在按順序處理數(shù)據(jù)方面非???,因?yàn)樗鼛缀鯖](méi)有具有高時(shí)鐘速度的重量級(jí)內(nèi)核。它就像一把瑞士軍刀,可以很好地處理各種任務(wù)。CPU 是延遲優(yōu)化的,可以在多個(gè)任務(wù)之間快速切換,這可能會(huì)產(chǎn)生并行性的印象。然而,從根本上說(shuō),它旨在一次運(yùn)行一項(xiàng)任務(wù)。


二、什么是 GPU?

圖形處理單元 (GPU) 是一種專(zhuān)門(mén)的處理器,其工作是快速操作內(nèi)存并加速計(jì)算機(jī)以完成許多需要高度并行性的特定任務(wù)。

GPU架構(gòu)

由于GPU使用了數(shù)千個(gè)輕量級(jí)內(nèi)核,其指令集針對(duì)維度矩陣算術(shù)和浮點(diǎn)計(jì)算進(jìn)行了優(yōu)化,因此它在處理線性代數(shù)和需要高度并行性的類(lèi)似任務(wù)時(shí)速度非???。根據(jù)經(jīng)驗(yàn),如果算法接受矢量化數(shù)據(jù),那么這項(xiàng)工作可能非常適合GPU計(jì)算。

從架構(gòu)上講,GPU 的內(nèi)部存儲(chǔ)器具有點(diǎn)對(duì)點(diǎn)連接的寬接口,可加速存儲(chǔ)器吞吐量并增加 GPU在給定時(shí)刻可以處理的數(shù)據(jù)量。它旨在一次快速處理大量數(shù)據(jù)。


三、GPU與CPU之間的比較

CPU和GPU的限制歸結(jié)為確切的用例場(chǎng)景。在某些情況下,使用CPU就足夠了,而其他應(yīng)用程序可能使用GPU加速器比較好。現(xiàn)在讓我們了解下CPU和GPU 處理器的一些普遍弱點(diǎn),以幫助我們決定是否需要它們。

1、CPU局限性

(1)重量級(jí)指令集

將日益復(fù)雜的指令直接嵌入 CPU 硬件的趨勢(shì)是一種現(xiàn)代趨勢(shì),但也有其不利之處。為了執(zhí)行一些更困難的指令,CPU有時(shí)需要旋轉(zhuǎn)數(shù)百個(gè)時(shí)鐘周期。盡管英特爾使用具有指令級(jí)并行性的指令流水線來(lái)緩解此限制,但它正在成為整體CPU性能的開(kāi)銷(xiāo)。

(2)上下文切換延遲

上下文切換延遲是CPU內(nèi)核在線程之間切換所需的時(shí)間。任務(wù)之間的切換非常緩慢,因?yàn)槲覀兊腃PU必須存儲(chǔ)寄存器和狀態(tài)變量、刷新高速緩存和執(zhí)行其他類(lèi)型的清理活動(dòng)。盡管現(xiàn)代CPU處理器試圖通過(guò)降低多任務(wù)延遲的任務(wù)狀態(tài)段來(lái)解決這個(gè)問(wèn)題,但上下文切換仍然是一個(gè)昂貴的過(guò)程。

(3)摩爾定律

集成電路上每平方英寸的晶體管數(shù)量每?jī)赡攴环南敕赡芗磳⒔Y(jié)束。你可以在一塊硅上安裝多少晶體管是有限度的,而且你無(wú)法超越物理學(xué)。相反,工程師們一直在嘗試借助分布式計(jì)算來(lái)提高計(jì)算效率,并嘗試使用量子計(jì)算機(jī),甚至試圖尋找用于CPU制造的硅替代品。

2、GPU局限性

(1)功能較弱的核心

盡管GPU具有更多內(nèi)核,但在時(shí)鐘速度方面,它們的功能不如CPU同類(lèi)產(chǎn)品。GPU內(nèi)核的指令集種類(lèi)較少,但指令集更為專(zhuān)業(yè)。這不一定是壞事,因?yàn)镚PU對(duì)于一小部分特定任務(wù)非常有效。

(2)更少的內(nèi)存

GPU還受到它們可以擁有的最大內(nèi)存量的限制。盡管GPU處理器可以在給定時(shí)刻比CPU移動(dòng)更多的信息,但GPU內(nèi)存訪問(wèn)的延遲要高得多。

(3)有限的 API

最流行的GPU API是OpenCL和CUDA。不幸的是,它們都以難以調(diào)試而聞名。盡管OpenCL是開(kāi)源的,但在Nvidia硬件上運(yùn)行速度相當(dāng)慢。另一方面,CUDA是專(zhuān)有的Nvidia API,并針對(duì)Nvidia GPU進(jìn)行了優(yōu)化,但它也會(huì)自動(dòng)將我們鎖定在其硬件生態(tài)系統(tǒng)中。


總結(jié):CPU 和 GPU 都有不同的優(yōu)勢(shì)領(lǐng)域,在為我們的項(xiàng)目選擇最佳硬件時(shí),了解它們的局限性會(huì)讓我們更好選擇。


/template/Home/Zkeys724/PC/Static