Puzzle 7: 2D ๋ธ๋ก
๊ฐ์
ํ๋ ฌ a์ ๊ฐ ์์น์ 10์ ๋ํด output์ ์ ์ฅํ๋ ์ปค๋์ ๊ตฌํํด ๋ณด์ธ์.
์ฐธ๊ณ : ๋ธ๋ก๋น ์ค๋ ๋ ์๊ฐ a์ ํ๊ณผ ์ด ํฌ๊ธฐ๋ณด๋ค ๋ชจ๋ ์์ต๋๋ค.
ํต์ฌ ๊ฐ๋
- ๋ธ๋ก ๊ธฐ๋ฐ ์ฒ๋ฆฌ
- ๊ทธ๋ฆฌ๋์ ๋ธ๋ก์ ์กฐ์จ
- ์ฌ๋ฌ ๋ธ๋ก์ ๊ฑธ์น ์ธ๋ฑ์ฑ
- ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด
๐ 2D ์ค๋ ๋ ์ธ๋ฑ์ฑ ๋ฐฉ์
Puzzle 4: 2D Map์ ๋ธ๋ก ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ์ 2D๋ก ํ์ฅํฉ๋๋ค:
์ ์ญ ์์น ๊ณ์ฐ: row = block_dim.y * block_idx.y + thread_idx.y col = block_dim.x * block_idx.x + thread_idx.x์๋ฅผ ๋ค์ด, 4ร4 ๊ทธ๋ฆฌ๋์์ 2ร2 ๋ธ๋ก์ ์ฌ์ฉํ๋ฉด:
Block (0,0): Block (1,0): [0,0 0,1] [0,2 0,3] [1,0 1,1] [1,2 1,3] Block (0,1): Block (1,1): [2,0 2,1] [2,2 2,3] [3,0 3,1] [3,2 3,3]๊ฐ ์์น๋ ํด๋น ์ค๋ ๋์ ์ ์ญ ์ธ๋ฑ์ค (row, col)๋ฅผ ๋ํ๋ ๋๋ค. ๋ธ๋ก ์ฐจ์๊ณผ ์ธ๋ฑ์ค๊ฐ ํจ๊ป ์๋ํ์ฌ ๋ค์์ ๋ณด์ฅํฉ๋๋ค:
- 2D ๊ณต๊ฐ ์ ์ฒด๋ฅผ ๋นํ์์ด ์ฒ๋ฆฌ
- ๋ธ๋ก ๊ฐ ๊ฒน์นจ ์์
- ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด
๊ตฌํ ๋ฐฉ์
๐ฐ ์์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์
์๋ ์ธ๋ฑ์ฑ์ผ๋ก ์ฌ๋ฌ ๋ธ๋ก์ ๊ฑธ์น ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
๐ LayoutTensor ๋ฒ์
LayoutTensor ๊ธฐ๋ฅ์ ํ์ฉํด ๋ธ๋ก ๊ธฐ๋ฐ ์ฒ๋ฆฌ๋ฅผ ๊น๋ํ๊ฒ ๊ตฌํํฉ๋๋ค.
๐ก ์ฐธ๊ณ : LayoutTensor๊ฐ ๋ธ๋ก ๊ฐ ์กฐ์จ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด์ ์ผ๋ง๋ ๋จ์ํํ๋์ง ํ์ธํด ๋ณด์ธ์.