CPU์ GPU ๊ฐ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์กด์ฌํ๋ ์ด์ ๋ ๋ ๊ฐ์ง ์นฉ์ด ๊ทผ๋ณธ์ ์ผ๋ก ์์ดํ ๋ชฉ์ ์ ์ผ๋์ ๋๊ณ ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์ด๋ค. CPU๋ ์์๋๋ก ์คํ๋๋ ์ผ๋ จ์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์๋ค. ๋ฉํฐ์ฐ๋ ๋ฉ(Multithreading) ๊ธฐ๋ฅ๊ณผ ๋ค์ค ์ฝ์ด์ ์ถํ์ผ๋ก CPU์์๋ ์๋นํ ์์ค์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋, ์๋น๋์๋ AMD๊ฐ ๋น๋์ค ์ธ์ฝ๋ฉ ๊ฐ์ ํน์ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ๋ํด ๊ฐ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ๋นํ๋ฉด ๋ฏธ๋ฏธํ ์์ค์ด๋ค.
์๋ ์ ์ฒ ๊ฐ์ ๋ค๊ฐํ์ ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ๋๋ ์ปดํจํฐ ๊ทธ๋ํฝ์ ์ํด ์ง๊ฐ์ ๋งคํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ GPU๋ ๋์์ ์ฌ๋ฌ ๊ฐ์ ์์
์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋ ๋ณ๋ ฌ ํ๋ก์ธ์์ด๋ค. ๊ฐ๊ฐ GPU ํ๋ก์ธ์ ์ฝ์ด๋ CPU ์ฝ์ด๋ณด๋ค ๋ ๋จ์ํ๊ณ ๋ ๊ฐ๋ ฅํ์ง๋ง ์ฝ์ด i7 960 ์์๋ ๊ฒจ์ฐ 4๊ฐ์ ์ฝ์ด๊ฐ ๋ค์ด์๋๋ฐ ๋นํด ์๋น๋์์ ์ต์ GPU์๋ ์ฝ์ด๊ฐ ์ ๋ฐฑ ๊ฐ๋ ๋ค์ด์๋ค. ๋์์ ์ ๋ฐฑ ๊ฐ์ ์์
์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฅ๋ ฅ์ผ๋ก ์ธํด GPU๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ด์ ์ ํ๋ณดํ ์ ์๊ฒ ๋๋ค.
GPU Computing
ํ๋ก์ธ์ค ์ค ์ฐ์ฐ์ง์ฝ์ ์ธ ๋ถ๋ถ์ GPU๋ก ๋๊ธฐ๊ณ ๋๋จธ์ง ์ฝ๋๋ง์ CPU์์ ์ฒ๋ฆฌ. GPU ๊ฐ์ ์ปดํจํ
GPU: ๋ณ๋ ฌ ์ฒ๋ฆฌ์ฉ, ์ํ, thousands of cores
CPU: multiple cores. ์ง๋ ฌ์ฒ๋ฆฌ์ฉ
nVidia CUDA (Compute Unified Device Architecture)
CUDAยฎ: parallel computing platform & programming model
GPGPU ๊ธฐ์ : CUDA GPU ์์ ๋ช ๋ ฌ์ ๊ณผ ๋์ฉ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํจ. ๋๋์ ๋ฐ์ดํฐ์ ํ ๊ฐ์ง ์ฐ์ฐ์ ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋จ์ํ๋ ์ฝ์ด๋ฅผ ๋ค๋ ํ์ฌ.
SIMD(Single Instruction Multiple Data) ํํ ๋ณ๋ ฌํ ๊ฐ๋ฅํ ์ฐ์ฐ
GPU ์ ์ฉ ํจ์ (์ปค๋) ๋ฅผ CPU์์ ํธ์ถํ๋ ์
- nVidia GTX graphic card CUDA Core ๊ฐ์
OpenMP (Open Multi-Processing)
๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ค์ค ์ฒ๋ฆฌ ํ๋ก๊ทธ๋๋ฐ API
๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ
์ฑ๋ฅ/ํ์ฅ์ฑ/์ด์์ฑ/ํ์ค์ฑ
ํ์ค ์คํ
'ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ฒ๋ฆฌ ์ง์์ Preprocessor Directive (0) | 2015.03.09 |
---|---|
[tbd] Jos Stam, Stable Fluids (1999) (0) | 2015.03.06 |
์ด์ ์ฒด์ ์ ๋ถ๋ฅ (0) | 2015.03.03 |
์์ฌ๋์ Pseudo-Random Number (0) | 2015.03.03 |
๋ฐ์ดํฐ ํ์ Data Type (0) | 2015.03.03 |