๐Ÿ–ฅ๏ธ System

PIM ์‘์šฉ

๊ฐœ์š”

PIM(Processing-In-Memory)์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์— ์—ฐ์‚ฐ ์œ ๋‹›์„ ํ†ตํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ด๋™ ๋ณ‘๋ชฉ์„ ํ•ด๊ฒฐํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜์ด๋‹ค. ์‹ค์ œ ์ƒ์šฉ ์ œํ’ˆ๊ณผ ์—ฐ๊ตฌ ํ”Œ๋žซํผ์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ DNN ์ถ”๋ก /ํ•™์Šต, ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ, ์œ ์ „์ฒด ๋ถ„์„ ๋“ฑ ๋‹ค์–‘ํ•œ ์‘์šฉ์—์„œ ์‹ค์šฉํ™”๋˜๊ณ  ์žˆ๋‹ค. PIM์€ ์—ฐ์‚ฐ๋ณด๋‹ค ๋ฐ์ดํ„ฐ ์ด๋™ ๋น„์šฉ์ด ์ง€๋ฐฐ์ ์ธ ์›Œํฌ๋กœ๋“œ์—์„œ ๋†’์€ ๋‚ด๋ถ€ ๋Œ€์—ญํญ๊ณผ ๋” ๋‚˜์€ ์—๋„ˆ์ง€ ํšจ์œจ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ, ์„ฑ๋Šฅ๋ณด๋‹ค ๋ฐ์ดํ„ฐ ์ด๋™์ด ๋ณ‘๋ชฉ์ธ ๋ฌธ์ œ์—์„œ ํŠนํžˆ ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค.

PIM ์‘์šฉ์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์ฒซ์งธ, ๋”ฅ๋Ÿฌ๋‹ ์ถ”๋ก /ํ•™์Šต์—์„œ GEMV/GEMM ์—ฐ์‚ฐ์„ ๋ฉ”๋ชจ๋ฆฌ ๊ทผ์ฒ˜์—์„œ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋Œ€์—ญํญ ๋ณ‘๋ชฉ์„ ์™„ํ™”ํ•œ๋‹ค. ๋‘˜์งธ, ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ์—์„œ BFS, PageRank ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด์ด ๋ถˆ๊ทœ์น™ํ•œ ์›Œํฌ๋กœ๋“œ๋ฅผ PIM์ด ์ฒ˜๋ฆฌํ•œ๋‹ค. ์…‹์งธ, ์œ ์ „์ฒด ๋ถ„์„์—์„œ ๋Œ€์šฉ๋Ÿ‰ DNA ์‹œํ€€์Šค ๋งค์นญ์„ ๋ณ‘๋ ฌ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋“ค ์‘์šฉ์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜, ํ˜ธ์ŠคํŠธ-๋ฉ”๋ชจ๋ฆฌ ๊ฐ„ ๋™๊ธฐํ™”, ๋ถ€๋ถ„ ๊ฒฐ๊ณผ ์ง‘๊ณ„ ๋ฐฉ์‹์„ ํ•จ๊ป˜ ์„ค๊ณ„ํ•ด์•ผ ์„ฑ๋Šฅ์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ณตํ†ต์ ์„ ๊ฐ€์ง„๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

DNN ์ถ”๋ก /ํ•™์Šต์—์„œ์˜ PIM

DNN PIM

๋”ฅ๋Ÿฌ๋‹ ์ถ”๋ก ์€ ์ฃผ๋กœ ํ–‰๋ ฌ-๋ฒกํ„ฐ ๊ณฑ์…ˆ(GEMV)๊ณผ ํ–‰๋ ฌ ๊ณฑ์…ˆ(GEMM) ์—ฐ์‚ฐ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ „ํ†ต์ ์ธ GPU ๊ธฐ๋ฐ˜ ์ถ”๋ก ์€ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ HBM์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋น„์šฉ์ด ์ง€๋ฐฐ์ ์ด๋ฉฐ, ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ(LLM, Recommendation System)์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์ด ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ ๋ณ‘๋ชฉ์ด ๋œ๋‹ค.

PIM ๊ธฐ๋ฐ˜ DNN ์ถ”๋ก ์˜ ํ•ต์‹ฌ ํŠน์ง•:

ํŠน์ง• ์„ค๋ช… ๋Œ€ํ‘œ ์ œํ’ˆ
GEMV ๊ฐ€์† ๋ฒกํ„ฐ-ํ–‰๋ ฌ ๊ณฑ์…ˆ์„ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์—์„œ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ Samsung HBM-PIM, SK Hynix AiM
๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋กœ์ปฌ๋ฆฌํ‹ฐ ๊ฐ€์ค‘์น˜๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ง์ ‘ ์—ฐ์‚ฐ UPMEM PIM-DRAM
์—๋„ˆ์ง€ ํšจ์œจ ๋ฐ์ดํ„ฐ ์ด๋™ ์—†์ด ์—ฐ์‚ฐ ์ˆ˜ํ–‰์œผ๋กœ ์ „๋ ฅ ์†Œ๋ชจ ์ ˆ๊ฐ ๋ชจ๋“  PIM ์ œํ’ˆ
๋Œ€์—ญํญ ํ™•์žฅ ์—ฌ๋Ÿฌ ๋ฑ…ํฌ/์Šคํƒ์ด ๋™์‹œ์— ์—ฐ์‚ฐ ์ˆ˜ํ–‰ HBM-PIM, AiM

์‹ค์ œ ๊ตฌํ˜„ ์‚ฌ๋ก€:
- Samsung HBM-PIM: ๊ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ฑ…ํฌ์— AI ์—”์ง„์„ ๋„ฃ์–ด ๋ณ‘๋ ฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์‚ผ์„ฑ ๋ฐœํ‘œ ๊ธฐ์ค€์œผ๋กœ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ 2๋ฐฐ ์ด์ƒ๊ณผ ์—๋„ˆ์ง€ ์†Œ๋น„ 70% ์ด์ƒ ์ ˆ๊ฐ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.
- SK Hynix AiM: HBM ๊ณ„์—ด ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์‚ฐ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•ด ์ถ”์ฒœยท์ถ”๋ก  ์›Œํฌ๋กœ๋“œ๋ฅผ ๊ฒจ๋ƒฅํ•œ PIM ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•œ๋‹ค.
- UPMEM PIM-DRAM: DDR ์ธํ„ฐํŽ˜์ด์Šค ํ˜ธํ™˜ํ˜• ๋ฒ”์šฉ PIM์œผ๋กœ, ํ˜ธ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ DPU๋ฅผ ์ œ์–ดํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ๋‹ค.

๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ์—์„œ์˜ PIM

Graph PIM

๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ๋Š” BFS(Breadth-First Search), PageRank, Connected Components ๋“ฑ ๋Œ€๊ทœ๋ชจ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•˜๋Š” ์›Œํฌ๋กœ๋“œ์ด๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋กœ ์ €์žฅ๋˜๋ฉฐ, ๋…ธ๋“œ ๊ฐ„ ์—ฐ๊ฒฐ์— ๋”ฐ๋ผ ๋ถˆ๊ทœ์น™ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด์„ ๊ฐ€์ง„๋‹ค. ์ด๋Ÿฌํ•œ ๋ถˆ๊ทœ์น™ํ•œ ์ ‘๊ทผ์€ CPU ์บ์‹œ ํšจ์œจ์„ ํฌ๊ฒŒ ๋–จ์–ด๋œจ๋ ค ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ด ๋œ๋‹ค.

PIM ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ์˜ ํ•ต์‹ฌ ํŠน์ง•:

ํŠน์ง• ์„ค๋ช…
๋ถˆ๊ทœ์น™ ์ ‘๊ทผ ์ฒ˜๋ฆฌ PIM์ด ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ง์ ‘ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ
๋ณ‘๋ ฌ BFS ์—ฌ๋Ÿฌ ๋ฑ…ํฌ๊ฐ€ ๋™์‹œ์— ์ธ์ ‘ ๋…ธ๋“œ ๋ฐฉ๋ฌธ
PageRank ๋ฐ˜๋ณต ๊ณ„์‚ฐ ๋ฐ˜๋ณต์ ์ธ ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ๋ฅผ PIM์—์„œ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰
๋ฐ์ดํ„ฐ ๋กœ์ปฌ๋ฆฌํ‹ฐ ํ™œ์šฉ ๊ทธ๋ž˜ํ”„ ํŒŒํ‹ฐ์…”๋‹์œผ๋กœ PIM ๋ฑ…ํฌ๋ณ„ ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜

์‹ค์ œ ๊ตฌํ˜„ ์˜ˆ:
- UPMEM ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ์‹คํ—˜: ๊ทธ๋ž˜ํ”„ ํŒŒํ‹ฐ์…˜์„ ๊ฐ DPU์— ๋ฐฐ์น˜ํ•ด frontier ํ™•์žฅ๊ณผ ์ง‘๊ณ„๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•œ๋‹ค.
- PIM-based BFS: BFS ๊นŠ์ด๋ณ„๋กœ ์—ฌ๋Ÿฌ ๋ฑ…ํฌ๊ฐ€ ๋™์‹œ์— ๋‹ค์Œ ๋ ˆ๋ฒจ ๋…ธ๋“œ ๋ฐฉ๋ฌธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
- Graphicionado: ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ์ง€๋ฐฐ์ ์ธ ๊ทธ๋ž˜ํ”„ ๋ถ„์„์„ ๊ฐ€์†ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ๋ ˆ์ด์•„์›ƒ๊ณผ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ฒฝ๋กœ๋ฅผ ํ•จ๊ป˜ ์ตœ์ ํ™”ํ•œ ๋Œ€ํ‘œ ์—ฐ๊ตฌ๋‹ค.

์œ ์ „์ฒด ๋ถ„์„์—์„œ์˜ PIM

Genomics PIM

์œ ์ „์ฒด ๋ถ„์„์€ ๋Œ€์šฉ๋Ÿ‰ DNA ์‹œํ€€์Šค(์ˆ˜ GB~TB)๋ฅผ ์ฐธ์กฐ ์œ ์ „์ฒด์™€ ๋Œ€์กฐํ•˜์—ฌ ํŒจํ„ด์„ ์ฐพ๋Š” ์›Œํฌ๋กœ๋“œ์ด๋‹ค. BWA, Bowtie2 ๋“ฑ ์ •๋ ฌ ๋„๊ตฌ๋Š” ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฝ์–ด ํŒจํ„ด ๋งค์นญ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์ด ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์ง€๋ฐฐํ•œ๋‹ค.

PIM ์œ ์ „์ฒด ๋ถ„์„์˜ ํ•ต์‹ฌ ํŠน์ง•:

ํŠน์ง• ์„ค๋ช…
ํŒจํ„ด ๋งค์นญ ๋ณ‘๋ ฌํ™” DNA ์„œ๋ธŒ์ŠคํŠธ๋ง ๋งค์นญ์„ ์—ฌ๋Ÿฌ ๋ฑ…ํฌ์—์„œ ๋™์‹œ ์ˆ˜ํ–‰
๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ TB ๋‹จ์œ„ ์œ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ PIM์—์„œ ์ง์ ‘ ์ฒ˜๋ฆฌ
์—๋„ˆ์ง€ ํšจ์œจ ์œ ์ „์ฒด ๋ถ„์„์˜ ๋ฐ˜๋ณต์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ๋น„์šฉ ์ ˆ๊ฐ
์‹ค์‹œ๊ฐ„ ๋ถ„์„ PIM ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์œ ์ „์ฒด ์‹œํ€€์‹ฑ ๋ถ„์„ ๊ฐ€๋Šฅ

์‹ค์ œ ๊ตฌํ˜„ ์˜ˆ:
- PIM-Genomics ๊ณ„์—ด ์—ฐ๊ตฌ: ์ฐธ์กฐ ์œ ์ „์ฒด ํŒŒํ‹ฐ์…˜๊ณผ read ๋ถ„๋ฐฐ๋ฅผ ๊ฒฐํ•ฉํ•ด ํŒจํ„ด ๋งค์นญ์„ ๋ณ‘๋ ฌํ™”ํ•œ๋‹ค.
- GenSMITH: PIM ๊ธฐ๋ฐ˜ ์œ ์ „์ฒด ์–ด์…ˆ๋ธ”๋ฆฌ ๊ฐ€์†๊ธฐ ๋ฐฉํ–ฅ์„ ๋ณด์—ฌ์ฃผ๋Š” ์‚ฌ๋ก€๋‹ค.
- UPMEM ๋ฐ”์ด์˜ค์ธํฌ๋งคํ‹ฑ์Šค ์‹คํ—˜: variant calling, ๋งคํ•‘ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์ง‘์•ฝ ๋‹จ๊ณ„๋ฅผ DPU ์ชฝ์œผ๋กœ ์˜คํ”„๋กœ๋“œํ•œ๋‹ค.

๊ณตํ†ต ๊ตฌํ˜„ ํฌ์ธํŠธ

์„ธ ์‘์šฉ ๋ชจ๋‘์—์„œ ์„ฑ๋Šฅ์„ ์ขŒ์šฐํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋Š” ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜ ๋‹จ์œ„์ด๋‹ค. DNN์€ ๊ฐ€์ค‘์น˜ ํ–‰ ๋˜๋Š” ํƒ€์ผ์„ ๋ฑ…ํฌ๋ณ„๋กœ ๋ฐฐ์น˜ํ•˜๊ณ , ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ๋Š” frontier๊ฐ€ ์ž์ฃผ ์ ‘๊ทผํ•˜๋Š” ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ™์€ ํŒŒํ‹ฐ์…˜์— ๋ชจ์œผ๋ฉฐ, ์œ ์ „์ฒด ๋ถ„์„์€ ์ฐธ์กฐ ์‹œํ€€์Šค์™€ read ๋ฐฐ์น˜๋ฅผ ํ•จ๊ป˜ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค. ๋ฐฐ์น˜๊ฐ€ ์ž˜๋ชป๋˜๋ฉด PIM ๋‚ด๋ถ€ ๋ณ‘๋ ฌ์„ฑ์ด ์‚ด์•„๋„ ํ˜ธ์ŠคํŠธ-๋ฉ”๋ชจ๋ฆฌ ๊ฐ„ ์žฌ์ „์†ก ๋น„์šฉ์ด ๋‹ค์‹œ ๋ณ‘๋ชฉ์ด ๋œ๋‹ค.

๋‘ ๋ฒˆ์งธ ์š”์†Œ๋Š” ํ˜ธ์ŠคํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ๊ฒฐ๊ณผ ์ง‘๊ณ„์ด๋‹ค. CPU ๋˜๋Š” ๊ฐ€์†๊ธฐ ๋Ÿฐํƒ€์ž„์€ PIM์— ์ž‘์—…์„ ๋˜์ง€๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๊ณ , ๋ฑ…ํฌ๋ณ„ partial sum, frontier merge, alignment score reduction์„ ๋‹ค์‹œ ๋ชจ์•„ ๋‹ค์Œ ๋‹จ๊ณ„์— ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์‘์šฉ๋ณ„ ์ปค๋„ ์„ฑ๋Šฅ๋ฟ ์•„๋‹ˆ๋ผ ๋ฐฐ์น˜ ์ „์ฒ˜๋ฆฌ, ๋™๊ธฐํ™” ์˜ค๋ฒ„ํ—ค๋“œ, ์˜ˆ์™ธ ๊ฒฝ๋กœ ์ฒ˜๋ฆฌ๊นŒ์ง€ ํฌํ•จํ•œ end-to-end ์„ค๊ณ„๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

๋น„๊ต/๋ถ„์„

PIM ์‘์šฉ๋ณ„ ํŠน์„ฑ ๋น„๊ต

์‘์šฉ ์›Œํฌ๋กœ๋“œ ํŠน์„ฑ PIM ์œ ํ˜• ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ฒฝํ–ฅ ์—๋„ˆ์ง€ ํšจ์œจ ๊ฒฝํ–ฅ
DNN ์ถ”๋ก  GEMV/GEMM, ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ˜๋ณต Bank-level, Logic-layer ๋†’์Œ ๋งค์šฐ ๋†’์Œ
๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ ๋ถˆ๊ทœ์น™ ์ ‘๊ทผ, BFS/PageRank Bank-level ์ค‘๊ฐ„~๋†’์Œ ์ค‘๊ฐ„~๋†’์Œ
์œ ์ „์ฒด ๋ถ„์„ ํŒจํ„ด ๋งค์นญ, ๋Œ€์šฉ๋Ÿ‰ ์‹œํ€€์Šค Bank-level ๋†’์Œ ๋งค์šฐ ๋†’์Œ

์ƒ์šฉ PIM ์ œํ’ˆ๋ณ„ ์‘์šฉ ์ง€์›

์ œํ’ˆ DNN ์ถ”๋ก  ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ ์œ ์ „์ฒด ๋ถ„์„ ํŠน์ง•
UPMEM PIM-DRAM O O O DDR ์ธํ„ฐํŽ˜์ด์Šค, ๋ฒ”์šฉ PIM
Samsung HBM-PIM O X X HBM ๊ธฐ๋ฐ˜, AI ์ถ”๋ก  ํŠนํ™”
SK Hynix AiM O X X HBM3 ๊ธฐ๋ฐ˜, AI ๊ฐ€์†

PIM vs GPU vs CPU ์‘์šฉ ๋น„๊ต

ํ•ญ๋ชฉ PIM GPU CPU
DNN ์ถ”๋ก  ์—๋„ˆ์ง€ ํšจ์œจ ๊ฐ€์žฅ ๋†’์Œ ์ค‘๊ฐ„ ๋‚ฎ์Œ
๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ ๋žœ๋ค ์ ‘๊ทผ ๋Œ€์‘ ๋†’์Œ ์ค‘๊ฐ„ ๋‚ฎ์Œ
์œ ์ „์ฒด ๋ถ„์„ ๋Œ€์šฉ๋Ÿ‰ ์Šค์บ” ๋†’์Œ ์ค‘๊ฐ„ ๊ธฐ์ค€์„ 
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์ด์„ฑ ์–ด๋ ค์›€ ์ค‘๊ฐ„ ์‰ฌ์›€
์„ฑ์ˆ™๋„ ์ค‘๊ฐ„ ๋†’์Œ ๋งค์šฐ ๋†’์Œ

์‘์šฉ๋ณ„ ๋ณ‘๋ชฉ๊ณผ ์ง‘๊ณ„ ๋ฐฉ์‹

์‘์šฉ ๋ณ‘๋ชฉ ์ž์› PIM ๋‚ด๋ถ€ ์—ฐ์‚ฐ ํ˜ธ์ŠคํŠธ ์ง‘๊ณ„ ํฌ์ธํŠธ
DNN ์ถ”๋ก  HBM ๋Œ€์—ญํญ, ๊ฐ€์ค‘์น˜ ์ด๋™ GEMV/GEMM partial sum ์ธต๋ณ„ ์ถœ๋ ฅ ๊ฒฐํ•ฉ, activation ์ „๋‹ฌ
๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ ๋žœ๋ค ์ ‘๊ทผ, ์บ์‹œ ๋ฏธ์Šค frontier ํ™•์žฅ, edge ์ˆœํšŒ ๋ฐฉ๋ฌธ ์ง‘ํ•ฉ ๋ณ‘ํ•ฉ, ์ค‘๋ณต ์ œ๊ฑฐ
์œ ์ „์ฒด ๋ถ„์„ ์ฐธ์กฐ ์‹œํ€€์Šค ์Šค์บ”, ์ ์ˆ˜ ๊ณ„์‚ฐ ํŒจํ„ด ๋งค์นญ, alignment score ์ตœ๊ณ  ์ ์ˆ˜ ํ›„๋ณด ์„ ํƒ, ํ›„์ฒ˜๋ฆฌ

๋™์ž‘ ์›๋ฆฌ

DNN ์ถ”๋ก  PIM ๋™์ž‘ ํ๋ฆ„

  1. ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋กœ๋”ฉ: CPU๊ฐ€ ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋ฅผ PIM-DRAM์˜ ์—ฌ๋Ÿฌ ๋ฑ…ํฌ์— ๋ฐฐ์น˜
  2. ์ž…๋ ฅ ๋ฒกํ„ฐ ์ „๋‹ฌ: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ PIM ์œ ๋‹›์— ์ „๋‹ฌ
  3. ๋ณ‘๋ ฌ GEMV ์—ฐ์‚ฐ: ๊ฐ ๋ฑ…ํฌ์˜ PIM ์œ ๋‹›์ด ๋กœ์ปฌ ๊ฐ€์ค‘์น˜์™€ ์ž…๋ ฅ ๋ฒกํ„ฐ์˜ ๊ณฑ์…ˆ์„ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰
  4. ๊ฒฐ๊ณผ ์ง‘๊ณ„: ์—ฌ๋Ÿฌ ๋ฑ…ํฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์‚ฐํ•˜์—ฌ ์ตœ์ข… ์ถœ๋ ฅ ์ƒ์„ฑ
  5. ๋ฐ˜๋ณต ์ฒ˜๋ฆฌ: ๋‹ค์ธต ๋„คํŠธ์›Œํฌ์˜ ๊ฒฝ์šฐ ์ธต๋ณ„๋กœ ๋ฐ˜๋ณต

๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ PIM ๋™์ž‘ ํ๋ฆ„

  1. ๊ทธ๋ž˜ํ”„ ํŒŒํ‹ฐ์…”๋‹: ๊ทธ๋ž˜ํ”„๋ฅผ ์—ฌ๋Ÿฌ PIM ๋ฑ…ํฌ์— ๋ถ„์‚ฐ ๋ฐฐ์น˜
  2. ํ˜„์žฌ ๋ ˆ๋ฒจ ๋…ธ๋“œ ์ „๋‹ฌ: BFS์˜ ๊ฒฝ์šฐ ํ˜„์žฌ ๋ฐฉ๋ฌธํ•  ๋…ธ๋“œ ์ง‘ํ•ฉ์„ PIM์— ์ „๋‹ฌ
  3. ์ธ์ ‘ ๋…ธ๋“œ ํƒ์ƒ‰: ๊ฐ PIM์ด ๋กœ์ปฌ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ์—์„œ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰
  4. ๊ฒฐ๊ณผ ์ง‘๊ณ„: ํƒ์ƒ‰๋œ ๋…ธ๋“œ๋“ค์„ ์ค‘์•™์—์„œ ์ง‘ํ•ฉ ์—ฐ์‚ฐ ์ˆ˜ํ–‰
  5. ๋‹ค์Œ ๋ ˆ๋ฒจ ์ƒ์„ฑ: ํƒ์ƒ‰๋œ ๋…ธ๋“œ๋“ค์˜ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ๋‹ค์Œ ๋ ˆ๋ฒจ๋กœ ์ „๋‹ฌ

์œ ์ „์ฒด ๋ถ„์„ PIM ๋™์ž‘ ํ๋ฆ„

  1. ์ฐธ์กฐ ์œ ์ „์ฒด ๋กœ๋”ฉ: ์ฐธ์กฐ ์‹œํ€€์Šค๋ฅผ PIM ๋ฑ…ํฌ์— ๋ถ„์‚ฐ ์ €์žฅ
  2. ์ฝ๊ธฐ ์‹œํ€€์Šค ๋ถ„ํ• : ์ž…๋ ฅ DNA ์‹œํ€€์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋ฑ…ํฌ์— ๋ถ„๋ฐฐ
  3. ํŒจํ„ด ๋งค์นญ: ๊ฐ PIM์ด ๋กœ์ปฌ ์ฐธ์กฐ ์‹œํ€€์Šค์™€ ํŒจํ„ด ๋งค์นญ ์ˆ˜ํ–‰
  4. ์ •๋ ฌ ์ ์ˆ˜ ๊ณ„์‚ฐ: ๋งค์นญ๋œ ํŒจํ„ด์˜ ์ •๋ ฌ ์ ์ˆ˜๋ฅผ ๋ณ‘๋ ฌ๋กœ ๊ณ„์‚ฐ
  5. ์ตœ์  ๋งค์นญ ์„ ํƒ: ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜์˜ ๋งค์นญ์„ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜

์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์‘์šฉ์—์„œ ๋†’์€ ์—๋„ˆ์ง€ ํšจ์œจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ ๋ณต์žก
๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ ๋ณ‘๋ชฉ ์ œ๊ฑฐ ๊ธฐ์กด ์†Œํ”„ํŠธ์›จ์–ด ์ˆ˜์ • ํ•„์š”
๋ถˆ๊ทœ์น™ ์ ‘๊ทผ ํŒจํ„ด์— ์œ ๋ฆฌ ์ƒ์šฉ ์ œํ’ˆ ์ƒํƒœ๊ณ„ ๋ฏธ์„ฑ์ˆ™
๋ฐ์ดํ„ฐ ๋กœ์ปฌ๋ฆฌํ‹ฐ ์ตœ๋Œ€ ํ™œ์šฉ ๋””๋ฒ„๊น…/ํ”„๋กœํŒŒ์ผ๋ง ์–ด๋ ค์›€
CPU/GPU ๋Œ€๋น„ ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„ ์˜จ๋„ ๊ด€๋ฆฌ ๋ฌธ์ œ
๊ธฐ์กด ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค ํ˜ธํ™˜ ๊ฐ€๋Šฅ ์บ์‹œ ์ผ๊ด€์„ฑ ๊ด€๋ฆฌ ๋ณต์žก

๊ด€๋ จ ๊ธฐ์ˆ 

  • PIM/NMP ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š”: PIM ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜์™€ ๋ถ„๋ฅ˜
  • Memory Hierarchy: ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ์™€ PIM์˜ ์œ„์น˜
  • GPU ๋ฉ”๋ชจ๋ฆฌ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ์ดˆ: GPU ๋ฉ”๋ชจ๋ฆฌ์™€ PIM ๋น„๊ต
  • CUDA ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: GPU ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ PIM ๋Œ€์‘
  • HBM Generation Comparison: HBM ๊ธฐ๋ฐ˜ PIM ๊ตฌํ˜„
  • LPDDR Generation Comparison: ์ €์ „๋ ฅ ๋ฉ”๋ชจ๋ฆฌ์™€ PIM ํ†ตํ•ฉ
  • UPMEM DPU SDK User Manual (2025.1.0): ํ˜ธ์ŠคํŠธ ์ œ์–ด, MRAM/WRAM ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ, ๋””๋ฒ„๊น… ๋„๊ตฌ๋ฅผ ํฌํ•จํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์„œ
  • Samsung Newsroom, "Samsung Develops Industry's First High Bandwidth Memory with AI Processing Power" (2021): HBM-PIM ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ/์ „๋ ฅ ๋ฐœํ‘œ
  • SK Hynix AiM: SK Hynix HBM3 ๊ธฐ๋ฐ˜ AI ๊ฐ€์† PIM
  • Ghose et al., IBM JRD 2019: PIM ์›Œํฌ๋กœ๋“œ ์ ํ•ฉ์„ฑ ๋ถ„์„ survey
  • Jouppi et al., TPU ๋…ผ๋ฌธ: ๊ตฌ๊ธ€ TPU์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด๊ณผ PIM ๊ฐ€๋Šฅ์„ฑ ๋ถ„์„
  • Graphicionado: PIM ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ ๊ฐ€์†๊ธฐ ์—ฐ๊ตฌ
  • GenSMITH: PIM ๊ธฐ๋ฐ˜ ์œ ์ „์ฒด ๋ถ„์„ ๊ฐ€์†๊ธฐ ์—ฐ๊ตฌ

ํ•ต์‹ฌ ์ •๋ฆฌ

PIM ์‘์šฉ์€ DNN ์ถ”๋ก /ํ•™์Šต, ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ, ์œ ์ „์ฒด ๋ถ„์„ ์„ธ ๊ฐ€์ง€ ์˜์—ญ์—์„œ ์‹ค์šฉํ™”๋˜๊ณ  ์žˆ๋‹ค. DNN ์ถ”๋ก ์—์„œ๋Š” GEMV/GEMM์„ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์—์„œ ์ˆ˜ํ–‰ํ•ด ๊ฐ€์ค‘์น˜ ์ด๋™ ๋น„์šฉ์„ ์ค„์ด๊ณ , ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ์—์„œ๋Š” ๋ถˆ๊ทœ์น™ํ•œ ์ ‘๊ทผ ํŒจํ„ด์„ ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€๊นŒ์ด์—์„œ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์œ ์ „์ฒด ๋ถ„์„์—์„œ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์‹œํ€€์Šค ์Šค์บ”๊ณผ ์ ์ˆ˜ ๊ณ„์‚ฐ์„ ๋ณ‘๋ ฌํ™”ํ•œ๋‹ค. ์„ธ ์˜์—ญ ๋ชจ๋‘ ์ปค๋„ ์ž์ฒด๋ณด๋‹ค ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜์™€ ๊ฒฐ๊ณผ ์ง‘๊ณ„ ๋ฐฉ์‹์ด ์ „์ฒด ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ์ขŒ์šฐํ•œ๋‹ค. UPMEM, Samsung, SK Hynix ๊ฐ™์€ ์ƒ์šฉ ๋ฐ ์ค€์ƒ์šฉ ์ƒํƒœ๊ณ„๊ฐ€ ๋“ฑ์žฅํ–ˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ์„ฑ์ˆ™๋„๋Š” ์—ฌ์ „ํžˆ ํ•ต์‹ฌ ๊ณผ์ œ๋‹ค. ํ–ฅํ›„ CXL ๊ฐ™์€ ์ธํ„ฐ์ปค๋„ฅํŠธ์™€ ๋Ÿฐํƒ€์ž„ ํ†ตํ•ฉ์ด ๋ฐœ์ „ํ• ์ˆ˜๋ก PIM ์‘์šฉ ๋ฒ”์œ„๋Š” ๋” ๋„“์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๋‹ค.