GPGPU란 풀어 쓰면 General-Purpose computing on Graphics Processing Units으로 직역하면 'GPU 상의 범용 계산'이라는 뜻입니다. GPGPU는 일반적으로 컴퓨터 그래픽스를 위한 계산만 맡았던 GPU를 CPU가 맡았던 응용 프로그램들의 계산에도 사용해 연산 속도를 향상 시키는 기술입니다.
- GPGPU 특징
- GPU에게 연산을 시키려면 프로그램 가능한 셰이더, 데이터 자료형의 추가 등 몇가지 하드웨어 요구 사항을 충족해야 합니다.
- 셰이더는 그래픽카드가 기본 지원하지 않는 셰이더도 그릴 수 있어 더 많은 표현을 할 수 있습니다.
- 3ds Max를 비롯한 3D 그래픽 툴의 렌더러에서도 CPU를 사용하면 5시간 이상 걸리는 인테리어 렌더링을 GPGPU로 처리하면 약 20배 더 빨리 연산할 수 있습니다.
- GPGPU로 CPU 한 개에 비해 최대 100배 ~ 250배의 속도 향상을 이룰 수 있지만, 병렬도가 높은 응용 프로그램에서만 이 정도의 해택을 볼 수 있습니다.
- GPGPU 장점
- 원하는 연산을 병렬로 처리하는 기능을 중심으로 만들어진 GPGPU인 만큼, 단순 연산을 병렬로 빠르게 처리가 가능합니다.
- CPU에 비해 병렬 연산 성능과 전력 소모량의 효율성을 높혔습니다.
- GPGPU 단점
- GPGPU는 GPU로 연산을 하는 만큼 그래픽 카드에 부하가 많이 걸립니다.
- GPGPU를 사용하는 개발 환경이 이곳 저곳으로 나눠져있어 각자가 만든 코드들로인해 지원하는 하드웨어가 한정됩니다.