๋น์ฐ. ๊ทธ๋ฐ๋ฐ ๋ฌด์์ด ์ด๋ป๊ฒ?
: ์ ์ถ๋ ฅ์ฐ์ฐ์ฅ์น, ์ปดํจํฐ ํ์ ์์ ๋ถํฐ ๋ฉ์ธ์ด ๋ ๋ถํ.
: ์ฒ์์ ํ ์ผ ๋ง์ ํ๋ฌ๋ฆฌ๋ CPU๋ฅผ ๋๊ธฐ ์ํด์ ๊ทธ์ ์ ๋ฌด ์ค ๊ณ ์ฐจ์ ๊ทธ๋ํฝ ์ฒ๋ฆฌ๋ฅผ ์ ์ฉ ๋ด๋นํด ์ฃผ๊ธฐ ์ํด ๊ณ ์๋์๋๋ฐ, ํ์ฌ๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ ์ธ์ ํ์คํน๋ ๋ฒ์ฉ์ ์ผ๋ก ๋๊ณ ์๋ ์ค์ ๋ถํ์ด ๋์๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ GPGPU(General Purpose computing on Graphics Processing Units) ๋ผ๋ ๊ฒ๋ ์๋ค.
ํด๋ญ (1ํ์คํน ์๋)
์ฝ์ด ์(๋ฉํฐํ์คํน ์ฑ๋ฅ)
์บ์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋
๊ธฐ๋ณธ์ ์ผ๋ก CPU๋ ์ง๋ ฌ ์ฒ๋ฆฌ, GPU๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด๋ค.
CPU ๋ ๋ช ๋ น์ด์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์, ๊ธฐ์ต ๋ฐ ์ฐ์ฐํ์ฌ, ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ์ง์คํฐ, ALU, ์ ์ด๋ถ(Control) ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ ์์ ๋ค์ ์ปจํธ๋กคํด์ผ ํ๋ฏ๋ก ๊ฐ ์์ ์ ์ง์ฐ์ ์ต์ํํ๊ธฐ ์ํด ์บ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐจ์งํ๋ ์์ญ์ด ๋๊ณ , ์๋์ ์ผ๋ก ALU(Arithmetic Logic Unit)๊ฐ ์ฐจ์งํ๋ ์์ญ์ ์ข์ ํธ์ด๋ค. ๊ณ ์ ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ์ฐ์ฐ ์์ ๋ค์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋ค.
์ฐ์ฐ 5๋จ๊ณ : 1)๋ช ๋ น์ด ๋ถ๋ฌ์ด(Fetch) - 2)๋ช ๋ น์ด ํด๋ (Decode) - 3)์ฐ์ฐ(Execute) - 4)์ฐ์ฐ ๊ฒฐ๊ณผ ์ ์ฅ(Memory) - 5)์ฐ์ฐ ๊ฒฐ๊ณผ ๋ ์ง์คํฐ์ ๋ค์ ์ฐ๊ธฐ(Write Back)
( 3)์ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ๋ค์ ๋ช ๋ น์ด์ ์ ์ฐ์ด๋ฉด Memory๋ก, ์ฐ์ด๋ฉด Write Back์ผ๋ก ๊ฐ๋ค.)
๋จ์ผ ์์ ์ ๋ฉํฐ ์ฐ๋ ๋๋ก(๋ณ๋ ฌ์ด๋ก) ์ํํ ์ ์๋ GPU ๋ CPU์ ๋นํด ์ปจํธ๋กค ์ ๋์ด๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ง์ด ํ์๊ฐ ์๋ค. ๋์ ALU ๊ฐ์๊ฐ ํจ์ฌ ๋ ๋ง๊ณ , ๋ฐ๋ผ์ ์ฐจ์งํ๋ ์๋ฆฌ๋ ๋๋ค. ์ด๋น ์๋ง์ ํด๋ฆฌ๊ณค(Polygon)๋ค์ ๋ณ๋ ฌ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์, 3D ๊ทธ๋ํฝ์ CPU๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ์ ๋ฐํ๊ฒ ์ด์๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. VPU (Visual Processing Unit)์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
GPU๋ ์ฌ์ค ์ฝคํจํ์ ํ์ ๋๋ถํฐ ์กด์ฌํ ๊ฒ์ด ์๋๋ค. ์ฒ์์๋ CPU๋ง ์์๋ค. ๋น์ CPU๋ MPU(Main Processing Unit)์ด๋ผ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ค. (CAD/CAM/CAE)
์ธํ (Intel)
1972๋
4์, ์ต์ด์ 8๋นํธ CPU 8008๋ฅผ ๊ฐ๋ฐํ๋ค.
์ดํ...
1974๋
: ์ธํ
8080 (8bit, 2Mhz(ํด๋ญ ์๋), ์ต๋ 64KB(๋ฉ๋ชจ๋ฆฌ))
1978๋
: ์ธํ
8086 (16bit, 4.77~10Mhz, ์ต๋ 1MB). x86-16 ์ํคํ
์ฒ.
1982๋
: ์ธํ
80 286 (16bit, 6~20Mhz, ์ต๋ 16MB). ๋ฉํฐํ์คํน ์ง์.
1985๋
: ์ธํ
80 386 (32bit). IA-32 ์ํคํ
์ฒ(x86, i386).
1989๋
: ์ธํ
i486 (80486์์ 80 ๋นผ๊ณ ์ธํ
์ i ์ฌ์ฉ ์์.)
1993๋
: ์ธํ
i586 => ํํฐ์(Pentium), AMD์ฌ์ ๋ถ์ ๋์ ์ซ์๋ฅผ ์ํ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋์ด ์์ฒด ์ํ๋ช
์ ๋ง๋ ๊ฒ์ด๋ค.
์๋ฌดํผ, ์ด 90๋
๋ ์ด์ค๋ฐ ๊น์ง๋ง ํด๋, ์ปดํจํฐ์์ ์ค์๊ฐ 3D๊ทธ๋ํฝ ์ญ์ CPU๊ฐ ์ฒ๋ฆฌํ ๋ชซ์ด์๋ค. ๊ทธ๋ฐ๋ฐ ์ปดํจํฐ ๊ฒ์์ ์์๊ฐ ๊ธ์ฆํ๊ธฐ ์์ํ์ฌ, 3D ๊ทธ๋ํฝ ์นด๋์ ํ์์ฑ์ด ์๊ฒจ๋ฌ๋ค. ๊ทธ๋ฆฌํ์ฌ ์ต์ด์ ์ผ๋ฐ ์ฌ์ฉ์์ฉ GPU๋ 1999๋
8์ 31์ผ NVIDIA์ฌ์ ์งํฌ์ค256(GeForce 256)๋ก ๋ฐํ๋์๋ค. (์ถ์๋ 10์)
NVIDIA์ฌ๋ GPU๋ฅผ ๊ธฐ์ ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค, "ํตํฉ๋ ๋ณํ, ์กฐ๋ช , ํธ๋ผ์ด์ต๊ธ ์ค์ /์๋ฅด๊ธฐ, ์ด๋น ์ต์ 1000 ๋ง ๋ค๊ฐํ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ ๋๋ง ์์ง์ด ํตํฉ๋ ๋จ์ผ์นฉ ํ๋ก์ธ์".
์ดํ GPU์ ๋ฐ์ ์ ๊ณ์๋์ด, ๊ทธ๋ํฝ์ ์ ํ์ ์ด์๋ ๊ธฐ๋ฅ์ด ๋ฒ์ฉ์ผ๋ก ํ์ฅ๋์๋ค(GPGPU). ์ด๋ก์จ ๊ทธ๋ํฝ ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ์๋ ์คํธ๋ฆผ ํ๋ก์ธ์ฑ(๋จ์ผ ์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ์ํ ์์์ ํ๋)์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
์ดํด๋ณธ ๋๋ก ์ง๊ธ๊น์ง GPU์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐฉ์์ ์ปดํจํฐ ์ฑ๋ฅ ๋ฐ์ ์ ํฐ ์ํฅ์ ๋ผ์ณ์๊ณ ์ค๋๋ ์์ด์ ์ ๋ ํ์ ์์๊ฐ ๋์๋๋ฐ, ์ด ๋ฐฉ์์ ์ค๋๋ ๋ฅ๋ฌ๋์ผ๋ก๊น์ง ์ฐ๊ฒฐ๋๋ค. ๋์ฉ๋ ๋ฒกํฐ,ํ๋ ฌ ์ฐ์ฐ์ ์ํ๋ ๋ฅ๋ฌ๋์๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฌํ ๋ฐฉํฅ์์ ์งํ๋ ๊ฒ์ด ๋ฐ๋ก 2016๋ 5์ ๋ฐํ๋ ๊ตฌ๊ธ์ TPU(Tensor Processing Unit). ๋น ๋ฐ์ดํฐ ๋ถ์๊ณผ ๋ฅ๋ฌ๋ ์ ์ฉ์ผ๋ก ๋ง๋ค์ด์ง 8๋นํธ ์ ์ ์ฐ์ฐ ๋ถํ์ผ๋ก, ํ ์(๋ฒกํฐ,ํ๋ ฌ)์ ๋ณ๋ ฌ ์ฐ์ฐ์ ํนํ๋์ด ์์ผ๋ฉฐ ์์ฒญ๋ ์ํธ ์ ์ฑ๋น๋ฅผ ๋ณด์ฌ์ค๋ค. ํ์ฌ ๋ฒ์ 3.0๊น์ง ๋ฐํ๋ TPU๋ ์์ง ์์ฉํ๋์ง ์์๋ค๊ณ ํ๋ค.
TPU์ ์ข์ ํ์ฉ ์๋ ๋ฐ๋ก ์ํ๊ณ ์ด๋ค. 2016๋ ์ด์ธ๋ 9๋จ๊ณผ์ ๋๊ฒฐ์ ์ํ๊ณ ๋ 48๊ฐ์ TPU(+ CPU 1202๊ฐ + GPU 176๊ฐ)๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ์ดํ ์ํ๊ณ ๋ง์คํฐ(๋ณ๋ช ๋งํ๊ณ ใ ใ ), ์ปคํ๊ณ (์ปค์ ์ ๋๊ฒฐํ ์ํ๊ณ )๋ 45TFLOPS ์ง๋ฆฌ ์นฉ 4๊ฐ๋ก ๊ตฌ์ฑ๋ TPU 2.0 ์ ๋จ 1๊ฐ ์ฌ์ฉํ๋ค๊ณ . ์ด๋ 2017๋ ๊ธฐ์ค ๊ฐ์ฅ ๊ฐ๋ ฅํ GPU(GTX 1080Ti)์ 16๋ฐฐ ์ ๋ ์ฑ๋ฅ์ด๋ผ๊ณ ํ๋ ์์ฒญ๋๋ค...
2017๋ ๋ฐํ๋ ์ํ๊ณ ์ ๋ก๋ ๋งํ๊ณ ์์ ์ฌ์ฉ๋์๋ TPU๋ฅผ 4๊ฐ ์ฌ์ฉํ๋ค. (์ด๊ฑธ ๋ณด๋ ์ด์ ๋์ด์ ์ธ๊ณต์ง๋ฅ ํ์ต์ ์ํผ ์ปดํจํฐ๊น์ง ์ธ ํ์ ์๋ค๋ ์์ฒญ๋ ์ ํธ๋ผ.. ์๊ฐํ๋ค.) ๊ธฐ์กด ์ํ๊ณ ๋ค๊ณผ ๋ฌ๋ฆฌ ๊ฐ์น๋ง, ์ ์ฑ ๋ง 2๊ฐ ์ ๊ฒฝ๋ง ์ค์์ ์๋ก์ด ๋ฒ์ ์ ์ ๊ฒฝ๋ง 1๊ฐ๋ง ์ฌ์ฉํ๋ค๋ ์ , ๋์ฉ๋ ํ์ต ๋ฐ์ดํฐ ์์ด ์์ํ ๊ฐํ ํ์ต๋ง์ผ๋ก ํ๋ จ๋์๋ค๋ (๊ทธ๋ฌ๋ฉด์๋ ๊ธฐ์กด ๋ฒ์ ๋ค์ ์๋์ ์ผ๋ก ๋ฅ๊ฐํ๋ค๋) ๊ฒ์ด ํน์ง์ด๋ค.
๊ทธ ๋ค์์ ๋์จ ๊ฒ์ด ์ํ ์ ๋ก. ๋์ด์ '๊ณ '๋ก ํ์ ํ์ง ์๊ณ ๋ค๋ฅธ ๊ฒ์, ๋ค๋ฅธ ๋ถ์ผ๋ก๊น์ง ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐํ์ํจ๋ค๋ ์์ด๋์ด์ด๋ค. 2017๋ 12์ ๋ฐํ๋ ๋ ผ๋ฌธ์ ๋ฐ๋ฅด๋ฉด ์ํ ์ ๋ก๋ ๋ฐ๋, ์ผ๊ธฐ, ์ฒด์ค๋ฅผ ํ์ตํ๊ณ , ๊ธฐ์กด ์๊ณ ๋ฆฌ์ฆ์ ๋ ํ๋ฒ ๋ฌด์ญ๊ฒ ๋ฅ๊ฐํ๋ค๊ณ ํ๋ค.
์ฌ๊ธฐ ๊ด๋ จ๋ ์๊ธฐ์ ์ ๋ณด๋ฅผ ํ๋ํ๋ ๋ค ์ฐ๋ฉด ๋ฌด์ง ๊ธธ๊ณ ์๋ง ํ ๋ฒ์ ๋ค ๋ชป ์ธ ๊ฒ. ๊ตต์ ์ ๋ง ์ต๋ํ ์ถ๋ ค ๋ณด์๋ค.
์๋ฌดํผ ์ง๊ธ์ ์ด๋ ๊ฒ ํ์ต์ฉ์ผ๋ก ์ ํ์ ์ผ๋ก ์ฐ์ด๊ณ ์๋ (Google ๋ง์) TPU๊ฐ, ๋ฏธ๋ ์ด๋ ์์ ์ ์์ฉํ ๋์ด ์์ ๋์ ์ธ์์ ์ด๋ค ๋ชจ์ต์ผ์ง ์์ํ๊ฒ ๋๋๋ฐ... ๊ทธ๋ผ ์ด๋ง. ๋
ํ!