Nvidia Tegra K1 晶元為什麼會有 192 個 GPU 核心,需要這麼多嗎?
01-31
GPU 核心越多越好嗎?為什麼 K1 需要這麼多核心,而 Apple A7 少少幾個 GPU 核心就足夠呢?
via Nvidia debuts 192-core Tegra K1 processor
謝邀。
各個廠家對「核心」的定義不同。一個CUDA Core其實只相當於一個SIMD Line,一條PTX(NVIDIA GPU的指令集)指令需要幾十個CUDA Core的參與才能夠完成。
把核心數目宣傳成這樣只是一種營銷上的做法,跟技術沒什麼關係。Tegra K1 GPU為NV Kepler 架構, 對於Kelper架構而言,一個SMX有6個SM共 6*32 = 192 個SP(流處理器)。但是此core非彼core。
傳統的core通常具有獨立的指令調度單元,獨立的整數單元。從這個意義上來講,Tegra K1 只有4個「指令」core, 但是有6個「執行」core,存在喂不飽執行單元的問題,所以在Maxwell中又改為4個「指令」core,4個「執行」core。192個SP 具有gather/scatter能力,此為與AVX2.0之前的SIMD明顯區別。嚴格來講,GPU中thread概念並非有獨立指令流的thread,而是可以理解為有獨立訪存能力的「地址」thread。Mobile GPU 主要是受限於功耗,規模和頻率遠低於桌面GPU。至於「夠」與「不夠」, 那隻能說,永遠都不夠。
圖形部分不太了解,對於通用計算而言:GPU 核心越多越好嗎?對於memory bound的應用而言,SP的增加一般不會提高性能。對於compute bound 的應用,SP的增加幾乎會導致線性的性能提升。但是事實上,多數應用為memory bound 或者 irregular。移動端memory帶寬的提升才會讓更多應用受益。如有興趣,可參考:The Roofline Modelhttp://crd.lbl.gov/assets/pubs_presos/parlab08-roofline-talk.pdf
Roofline: An Insightful Visual Performance Model for Multicore Architectureshttp://www.eecs.berkeley.edu/~waterman/papers/roofline.pdf而 Apple A7 少少幾個 GPU 核心就足夠呢?A7 的 GPU 同樣也是SIMD架構,此處核心與Tegra K1 的 SMX 對應,其實K1 也就 6個而已(還喂不飽)。各個廠家對GPU"核心"的定義不同
ImgTec的PowerVR SGX 系列將一個相對完整的GPU單元視作一個核心英偉達的Tegra系列的GPU將一個ALU視作一個核心高通的Adreno系列相對不注重核心的宣傳,所以暫忽略ARM的Mali系列將一個統一Shader單元視作一個核心
Vivante的GC系列將一條SIMD Shader流水線視作一個核心———————————————————————————
如果按照NV的演算法,adreno320就是64核心,330就是128核心,核心數多少跟性能有關係的。你看tesla卡的k20和k20x,價格差了一些,性能上單精度也差了一些,完全是因為後者比前者多192個cuda核心。
gpu就是做眾核結構的,結構和CPU不一樣,處理的問題不一樣。CPU的核的運算性能要強很多。
推薦閱讀:
※Tegra 4 和 Snapdragon 800,一個 2.3Ghz 一個 1.8Ghz,為何跑分相近?
TAG:圖形處理器GPU | NVIDIATegra | TegraK1 |