欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

GPU計算有哪些特點

老白2年前20瀏覽0評論

GPU計算有哪些特點?

CPU和GPU都是具有運算能力的芯片,CPU更像“通才”——指令運算(執行)為重+數值運算,GPU更像“專才”——圖形類數值計算為核心。在不同類型的運算方面的速度也就決定了它們的能力——“擅長和不擅長”。芯片的速度主要取決于三個方面:微架構,主頻和IPC(每個時鐘周期執行的指令數)。

微架構

CPU微架構的設計是面向指令執行高效率而設計的,因而CPU是計算機中設計最復雜的芯片。和GPU相比,CPU核心的重復設計部分不多,這種復雜性不能僅以晶體管的多寡來衡量,這種復雜性來自于實現:如程序分支預測,推測執行,多重嵌套分支執行,并行執行時候的指令相關性和數據相關性,多核協同處理時候的數據一致性等等復雜邏輯。

GPU其實是由硬件實現的一組圖形函數的集合,這些函數主要用于繪制各種圖形所需要的運算。這些和像素,光影處理,3D坐標變換等相關的運算由GPU硬件加速來實現。圖形運算的特點是大量同類型數據的密集運算——如圖形數據的矩陣運算,GPU的微架構就是面向適合于矩陣類型的數值計算而設計的,大量重復設計的計算單元,這類計算可以分成眾多獨立的數值計算——大量數值運算的線程,而且數據之間沒有像程序執行的那種邏輯關聯性。

因此從微架構上看,CPU擅長的是像操作系統、系統軟件和通用應用程序這類擁有復雜指令調度、循環、分支、邏輯判斷以及執行等的程序任務。它的并行優勢是程序執行層面的,程序邏輯的復雜度也限定了程序執行的指令并行性,上百個并行程序執行的線程基本看不到。GPU擅長的是圖形類的或者是非圖形類的高度并行數值計算,GPU可以容納上千個沒有邏輯關系的數值計算線程,它的優勢是無邏輯關系數據的并行計算。

主頻

GPU執行每個數值計算的速度并沒有比CPU快,從目前主流CPU和GPU的主頻就可以看出了,CPU的主頻都超過了2GHz,甚至3GHz,而GPU的主頻最高還不到2GHz,主流的也就1GHz。所以GPU在執行少量線程的數值計算時速度并不能超過CPU。

目前GPU數值計算的優勢主要是浮點運算,它執行浮點運算快是靠大量并行,但是這種數值運算的并行性在面對程序的邏輯執行時毫無用處。

IPC(每個時鐘周期執行的指令數)

這個方面,CPU和GPU無法比較,因為GPU大多數指令都是面向數值計算的,少量的控制指令也無法被操作系統和軟件直接使用。如果比較數據指令的IPC,GPU顯然要高過CPU,因為并行的原因。但是,如果比較控制指令的IPC,自然是CPU的要高的多。原因很簡單,CPU著重的是指令執行的并行性。

另外,目前有些GPU也能夠支持比較復雜的控制指令,比如條件轉移、分支、循環和子程序調用等,但是GPU程序控制這方面的增加,和支持操作系統所需要的能力CPU相比還是天壤之別,而且指令執行的效率也無法和CPU相提并論。

總結一下:

CPU更適合處理邏輯控制密集的計算任務,而GPU適合處理數據密集的計算任務。并且由于現代CPU的發展,使得CPU與計算機主存的交換速度要遠遠大于GPU與計算機主存的交換速度,因此GPU更適合處理SIMD(SingleInstruction MultiData,單數據多指令)的運算,即將數據放到顯存中進行多次計算的計算任務。

目前比較流行CPU+GPU的協同計算模型,在這個模型中,CPU與CPU協同工作,各司其職。CPU負責進行邏輯性強的事物處理和串行計算,GPU則專注于執行高度線程化的并行處理任務。CPU、GPU各自擁有相互獨立的存儲器地址空間:主機端的內存和設備端的顯存。

java ipc 調用,GPU計算有哪些特點