如何理解 NVIDIA CUDA 中線程塊的三維線程的概念?

時間 2021-05-09 21:17:36

1樓:

首先需要補一下 Nvidia GPU 體系結構的基礎知識:

1. GPU 有很多 Streaming Multiprocessors, 用來管理排程 Thread Block

2. 每個 Stream Multiprocessor 裡有很多 Stream Processor (也叫 CUDA Core), 管理排程並流式執行 SIMD Thread ( CUDA 裡也叫 Warp )

3. 每個 SIMD Thread 都包含相同個數的 Thread, (CUDA 裡是 32 個),乙個 Warp 的執行步調是一致的(所有的 Thread 都幹相同的事情)

然後理解 Nvidia CUDA 的執行層次:

1. 乙個 Stream 包含了一系列 Grids,並按中序執行(Nvidia HW),並且可以多個stream並行執行

2. 乙個 Grid 包含了 個 Thread Block

3. 乙個 Thread Block 包含了 1024 個 CUDA Thread

4. 乙個 CUDA Thread 就是乙個標量執行環境

所以,乙個 GPU 的組織結構順序為: Stream > Grid > Block > Warp > Thread。

你看,你那個圖上的乙個 Grid 裡面的 Thread 不就是有三個維度嘛:which block, which warp, which thread。

這種事情文件裡面不是說得很清楚了嘛:

CUDA Toolkit Documentation

如何理解 Material Design 中卡片的兩層陰影?

jordanfc遲方的答案雖然回答了問題,但並不是官方解釋.官方解釋在這裡 Environment What is material?Light and shadow 這兩層陰影,一層是環境光投射的陰影,另一層是關鍵光照射在 material 上投射的陰影.所以你可以看到,環境光投射的陰影比較軟,更...

如何理解卷積,另外如何理解影象處理中的卷積?

烈日烤魚 影象上的卷積其實是乙個很簡單和傻瓜的概念,千萬別被名字嚇到了.影象是二維陣列 方便起見,用一維陣列舉例.卷積1 2 3 4 5 和 10 20 30它的結果也是乙個陣列.這個陣列第乙個值就是 1 10 2 10 3 30 其實就是對應項相乘,求和.第二個值就是 2 10 3 20 4 30...

如何理解藝術中的「意境」?

千金讀書 中國古代藝術特別重視對內在精神的追求,這種觀念就像一條紅線,貫穿中國古代藝術發展史的始終。把藝術所表現的 意境 和 神韻 作為重要的審美標準。該書引用孔子的話說 書不盡言,言不盡意。周易 繫辭上 這說明,當時人們已經認識到了言 意之間的不對等性。言語作為傳情達意的重要工具,常常具有一定的侷...