nvidia gpu內部硬件單元有很多種,單獨某一種的數量與顯卡效能並不成嚴格的正相關。
實際上每一代架構都在調整各種單元之間的比例,目的是為了
讓程式提高並列度,使有效吞吐接近理論極限
。如果設計gpu的過程中沒有權衡各種硬件資源的比例,會造成某一種硬件資源的缺乏成為限制整個cuda程式執行效率的瓶頸。
問題裏的cuda core,或者稱為sp,是主要的運算單元,內部有分別處理int和單精度float的部份,用於執行一些常用的運算指令。除了sp之外還有雙精度單元用於科學計算以及特殊運算單元sfu來執行比較復雜的運算指令比如三角函數。
而gpu中除了這些運算單元之外還有很重要很稀缺的儲存器結構。現代電腦,無論CPU還是GPU,主要的效能瓶頸都來自儲存器。
gpu運算單元的總峰值吞吐能力遠遠超過訪存的峰值頻寬。
在硬件上比SP更大的運算單位稱為SM,一個SM是由多個SP加上其他的資源組成的,實際上
SM才更像是一個具有完整功能的CORE。
因為SM可以排程並行射指令到運算單元內。