天天看點

cuda shader

Nvidia CUDA(計算統一裝置體系結構)是一種專用的程式設計模型和并行計算平台。每個Nvidia GPU都包含CUDA核心。CUDA使得人們可以用GPU中的許多計算核心來執行通用數學計算。

大多數情況下,統一着色體系結構硬體由一系列計算單元和某種形式的動态排程 / 負載平衡系統組成,以確定所有計算單元保持盡可能頻繁地工作。

NVIDIA GPU中相當于“ CPU核心”(OpenCL中定義為計算單元)的是SM流多處理器。每個流多處理器有一個包含8個流處理器的向量單元。SP是NVIDIA所稱的“ CUDA核心”,盡管由于這些SM是SIMD架構而頗具誤導性。

cuda shader

比如GTX 260有24個SM,每個SM有8個SP晶片上,總共有192個SP,NVIDIA将其稱為192個cuda核心。從OpenCL的角度來看,從SM的數量來看,有24個計算單元。

“ cuda core”是向量單元内部的一個ALU。

NVIDIA将單個SP稱為單個處理核心。 它具有兩個ALU和一個FPU的完全流水線結構,是面向單一問題的有序微處理器。SP沒有任何緩存,将大部分時間都花在處理像素或頂點資料上,是以除了處理大量的數學運算外,它在其他任何方面都不是特别出色。

CUDA核心是類似于計算機中處理器的并行處理器,可以是雙核或四核處理器。但是,Nvidia GPU可能具有數千個核心。這些核心負責各種任務,這些任務允許核心的數量直接與GPU的速度和功能相關。

由于CUDA核心負責處理通過GPU傳輸的所有資料,是以,在加載人物和風景時,這些核心可以處理圖形之類的事情。

計算單元是GPU核心,而不是着色器或cuda核心。可用openCL查詢。所謂的着色器或CUDA核心隻是GPU核心的一部分,它不能獨立運作,而是依靠GPU核心進行操作。例如,給一個數組乘以另一個數組,GPU核心将接收它并劃分元素以提供給每個着色器(cuda核心)以執行工作。是以,着色器(CUDA核心)隻是處理器的一個組成部分。

GPU由一堆處理器核心組成,這些處理器核心在計算機術語中稱為計算單元。每個核心/計算單元都有一堆着色器,TMU和ROP。

在GPU中,包含了着色器的一個核心被稱為cuda核心,Cuda核心是着色器,流處理器是着色器。

自從GPU使用統一的體系結構以來,GPU核心包含更多通用單元。 這些單元通常稱為着色器。 每個着色器基本上就像較大的處理器中的某種微型處理器部分(例如x86 CPU中的SSE單元)一樣,可以執行某些任務,而不是全部。

GPU具有核心,核心本身具有許多着色器。每個GPU核心都包含一個解碼器,用于解碼核心本身的指令。 然後根據工作本身将工作負載發送到核心中的各個不同單元。 每個GPU核心均包含着色器(nvidia稱其為cuda核心,AMD稱其為流處理器),TMU,ROP,并且在某些GPU中還具有其他單元。 每個單元對圖形都有貢獻,是以在特定圖形設定下具有更多特定單元的GPU更快。

繼續閱讀