๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ณต๋ถ€

GPU์˜ ๋™์ž‘ ์›๋ฆฌ

by greenbrachio 2026. 5. 7.

์™œ ํ˜„๋Œ€ ์ปดํ“จํŒ…์—์„œ GPU๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?

๊ณผ๊ฑฐ์— GPU(Graphics Processing Unit)๋Š” ๋‹จ์ˆœํžˆ ๋ชจ๋‹ˆํ„ฐ์— ์˜์ƒ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์กฐ ์žฅ์น˜์— ๋ถˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋”ฅ๋Ÿฌ๋‹, ์•”ํ˜ธํ™”ํ ์ฑ„๊ตด, ๊ณ ์‚ฌ์–‘ ๊ฒŒ์ž„ ๋“ฑ ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ถ„์•ผ๊ฐ€ ๊ธ‰์„ฑ์žฅํ•˜๋ฉด์„œ GPU๋Š” ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์˜ ์ฃผ์—ญ์œผ๋กœ ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค.

CPU๊ฐ€ ๋ณต์žกํ•œ ๋…ผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ '์ฒœ์žฌ ์ˆ˜ํ•™์ž'๋ผ๋ฉด, GPU๋Š” ๋‹จ์ˆœํ•œ ์—ฐ์‚ฐ์„ ์ˆ˜์ฒœ ๊ฐœ์”ฉ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” '์ˆ˜์ฒœ ๋ช…์˜ ๊ณ„์‚ฐ์›'๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” GPU์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ๋™์ž‘ ์›๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์™œ AI ์—ฐ์‚ฐ์—์„œ GPU๊ฐ€ ํ•„์ˆ˜์ ์ธ์ง€ ์‹ฌ์ธต์ ์œผ๋กœ ๋ถ„์„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1. GPU์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ: ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ ์ง‘ํ•ฉ์ฒด

GPU์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ์ˆ˜์ฒœ ๊ฐœ์˜ ์ฝ”์–ด๊ฐ€ ์ง‘ํ•ฉ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. CPU์˜ ์ฝ”์–ด๊ฐ€ ์ˆ˜ ๊ฐœ์—์„œ ์ˆ˜์‹ญ ๊ฐœ์— ๋ถˆ๊ณผํ•œ ๊ฒƒ๊ณผ ๊ทน๋ช…ํ•˜๊ฒŒ ๋Œ€๋น„๋ฉ๋‹ˆ๋‹ค.

1.1. ALU(์‚ฐ์ˆ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์žฅ์น˜)์˜ ๋ฌผ๋Ÿ‰ ๊ณต์„ธ

GPU ๋‚ด๋ถ€์—๋Š” ์•„์ฃผ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ALU๊ฐ€ ์ˆ˜์ฒœ ๊ฐœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. CPU์˜ ALU๋Š” ๋ณต์žกํ•œ ๋ถ„๊ธฐ ์˜ˆ์ธก์ด๋‚˜ ์ •๊ตํ•œ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋Œ€ํ•˜๊ฒŒ ์„ค๊ณ„๋˜์–ด ์žˆ์ง€๋งŒ, GPU์˜ ALU๋Š” ์˜ค์ง '๋‹จ์ˆœ ๋ฐ˜๋ณต ์—ฐ์‚ฐ'์— ์ตœ์ ํ™”๋˜์–ด ํฌ๊ธฐ๊ฐ€ ์ž‘์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์€ ALU๋“ค์„ ๋ฌถ์–ด ํ•˜๋‚˜์˜ SM(Streaming Multiprocessor) ๋‹จ์œ„๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1.2. ์ œ์–ด ์žฅ์น˜์™€ ์บ์‹œ์˜ ๋‹จ์ˆœํ™”

CPU๋Š” ์ฒ˜๋ฆฌ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฑฐ๋Œ€ํ•œ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ณต์žกํ•œ ์ œ์–ด ์žฅ์น˜(Control Unit)๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, GPU๋Š” ์ œ์–ด ์žฅ์น˜์˜ ๋น„์ค‘์„ ์ค„์ด๊ณ  ๊ทธ ๊ณต๊ฐ„์„ ์—ฐ์‚ฐ ์žฅ์น˜(ALU)๋กœ ๊ฐ€๋“ ์ฑ„์›๋‹ˆ๋‹ค. ์ด๋Š” GPU์˜ ๋ชฉ์ ์ด '๋ณต์žกํ•œ ๋…ผ๋ฆฌ ํ๋ฆ„ ์ œ์–ด'๊ฐ€ ์•„๋‹Œ '๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput) ๊ทน๋Œ€ํ™”'์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

2. GPU์˜ ๋™์ž‘ ์›๋ฆฌ: SIMT (Single Instruction, Multiple Threads)

GPU๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ SIMT ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” CPU์˜ SIMD(Single Instruction, Multiple Data)๋ฅผ ํ™•์žฅํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

  • ๋™์ž‘ ๋ฐฉ์‹: ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜๋งŽ์€ ์Šค๋ ˆ๋“œ(Thread)์— ๋™์‹œ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 1,000๊ฐœ์˜ ์ˆซ์ž์— ๊ฐ๊ฐ 2๋ฅผ ๋”ํ•ด์•ผ ํ•œ๋‹ค๋ฉด, GPU๋Š” 1,000๊ฐœ์˜ ์ฝ”์–ด์— "2๋ฅผ ๋”ํ•˜๋ผ"๋Š” ๋ช…๋ น ํ•˜๋‚˜๋ฅผ ๋™์‹œ์— ๋‚ด๋ ค ํ•œ ๋ฒˆ์— ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ์Šค๋ ˆ๋“œ ๊ณ„์ธต ๊ตฌ์กฐ: GPU๋Š” ์ˆ˜๋งŒ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด '๊ทธ๋ฆฌ๋“œ(Grid) - ๋ธ”๋ก(Block) - ์Šค๋ ˆ๋“œ(Thread)'์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. CPU vs GPU: ์ง€์—ฐ ์‹œ๊ฐ„(Latency) vs ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput)

๋‘ ์žฅ์น˜์˜ ๊ฒฐ์ •์ ์ธ ์ฐจ์ด๋Š” ์„ค๊ณ„ ์ฒ ํ•™์— ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ CPU (Central Processing Unit) GPU (Graphics Processing Unit)
์„ค๊ณ„ ๋ชฉํ‘œ ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์†Œํ™” (Latency) ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ๋Œ€ํ™” (Throughput)
์ฝ”์–ด ์ˆ˜ ์ˆ˜ ๊ฐœ ~ ์ˆ˜์‹ญ ๊ฐœ์˜ ๊ณ ์„ฑ๋Šฅ ์ฝ”์–ด ์ˆ˜์ฒœ ๊ฐœ์˜ ๋‹จ์ˆœ ์ฝ”์–ด
๊ฐ•์  ๋ณต์žกํ•œ ์กฐ๊ฑด๋ฌธ, ์ˆœ์ฐจ์ ์ธ ๋…ผ๋ฆฌ ์ฒ˜๋ฆฌ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ˜๋ณต ์—ฐ์‚ฐ
๋น„์œ  ์†Œ์ˆ˜์˜ ์ •์˜ˆ ํŠน์ˆ˜๋ถ€๋Œ€ ๋Œ€๊ทœ๋ชจ ๋ณด๋ณ‘ ์‚ฌ๋‹จ

CPU๋Š” ๋ช…๋ น ํ•˜๋‚˜๋ฅผ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋๋‚ด๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด์ง€๋งŒ, GPU๋Š” ์กฐ๊ธˆ ๋Šฆ๋”๋ผ๋„ ํ•œ ๋ฒˆ์— ์ˆ˜์ฒœ ๊ฐœ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ ๋žœ๋”๋ง์ด๋‚˜ ํ–‰๋ ฌ ์—ฐ์‚ฐ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ๊ฐ„ ์˜์กด์„ฑ์ด ๋‚ฎ์€ ์ž‘์—…์—์„œ GPU์˜ ์„ฑ๋Šฅ์ด ์••๋„์ ์ธ ์ด์œ ์ž…๋‹ˆ๋‹ค.

 

4. GPGPU์™€ ํ˜„๋Œ€์  ํ™œ์šฉ: CUDA์™€ OpenCL

์ด์ œ GPU๋Š” ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ์—๋งŒ ๋จธ๋ฌผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ GPGPU(General-Purpose computing on GPU)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

  • CUDA (NVIDIA): NVIDIA๊ฐ€ ๋งŒ๋“  ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์œผ๋กœ, C/C++ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด GPU ์ž์›์„ ๋ฒ”์šฉ ์—ฐ์‚ฐ์— ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ํ˜„๋Œ€ AI ๋ชจ๋ธ(PyTorch, TensorFlow ๋“ฑ)์€ ๋Œ€๋ถ€๋ถ„ ์ด CUDA๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • AI ์—ฐ์‚ฐ์˜ ํ•ต์‹ฌ: ๋”ฅ๋Ÿฌ๋‹์˜ ํ•ต์‹ฌ์€ ๊ฑฐ๋Œ€ํ•œ ํ–‰๋ ฌ ๊ณฑ์…ˆ์ž…๋‹ˆ๋‹ค. GPU์˜ ์ˆ˜์ฒœ ๊ฐœ ์ฝ”์–ด๋Š” ํ–‰๋ ฌ์˜ ๊ฐ ์›์†Œ ์—ฐ์‚ฐ์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ CPU ๋Œ€๋น„ ์ˆ˜์‹ญ ๋ฐฐ ์ด์ƒ์˜ ์†๋„ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

 

5. GPU ๋™์ž‘์˜ ๋ณ‘๋ชฉ ํ˜„์ƒ: ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„

GPU์˜ ์—ฐ์‚ฐ ์†๋„๋Š” ๋งค์šฐ ๋น ๋ฅด์ง€๋งŒ, ์น˜๋ช…์ ์ธ ์•ฝ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ PCIe ์Šฌ๋กฏ์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ž…๋‹ˆ๋‹ค. ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ(RAM)์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ GPU ์ „์šฉ ๋ฉ”๋ชจ๋ฆฌ(VRAM)๋กœ ๋ณต์‚ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š”๋ฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๊ทผ์—๋Š” 'NVLink'๋‚˜ 'HBM(๊ณ ๋Œ€์—ญํญ ๋ฉ”๋ชจ๋ฆฌ)' ๊ฐ™์€ ๊ธฐ์ˆ ์ด ๋„์ž…๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜๋“œ์›จ์–ด ์ดํ•ด๊ฐ€ ๊ณ ์„ฑ๋Šฅ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ ๋‹ค

์ปดํ“จํ„ฐ๊ณตํ•™ ์ „๊ณต์ž์—๊ฒŒ GPU์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์ด์ œ ํ•„์ˆ˜ ์—ญ๋Ÿ‰์ž…๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ CPU์— ๋งก๊ธธ ์ž‘์—…๊ณผ GPU์— ๋„˜๊ธธ ์ž‘์—…์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ๊ณง ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ๊ฒฐ์ •์ง“๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.