GPGPU는 General Purpose computing on Graphic Processing Unit의 약자로 GPU를 그래픽 처리 뿐만 아니라 범용적인 계산에 사용하는 것을 칭한다.
원래 GPU의 용도는 그래픽 처리를 위한 보조장치였지만, CPU를 대신 해 데이터 연산 및 처리를 하는 범용 계산 장치로 쓰이게 되었다.
즉 GPU와 GPGPU는 GPU의 활용도에 따라 명칭이 나뉜다.
먼저, 그래픽 카드 메모리 공간을 할당하고, PC의 입력 데이터를 그래픽 카드의 메모리로 복사하여 고성능의 GPU 성능을 활용하여 병렬처리 한다.
처리된 결과를 그래픽 카드 메모리에서 PC 메모리로 복사한다.
게임 엔진 -> CPU 물리 연산 처리 -> 결과 렌더링
이 물리연산중 일부는 동시에 병렬처리 가능한 작업이다.(파편 거리 계산, 각 입자에 작용하는 중력 계산..)
병렬 연산이 가능한 작업들을 GPU로 오프로드하여 처리.

유니티에서 기본적으로 제공하는 3D 물리엔진이 바로 PhysX엔진이다.
렌더링은 GPU의 병렬 처리 능력이 특히 잘 활용되는 대표적이 분야다.
예를 들어 블렌더는 수많은 메시를 빠르게 처리하기 위해 GPU연산을 적극 활용한다.

프로젝트 설정에서 쿠다를 사용한 렌더링 설정을 간편하게 할 수 있다.

이 설정만으로도 동일한 씬에서 렌더 시간이 몇 배 이상 줄어드는 경우도 많다.
최근에는 Blender뿐 아니라 Maya, Houdini, Unreal Engine 등 다양한 툴들이 GPU 렌더링을 적극적으로 활용하고 있다.
특히 실시간 렌더링이나 고해상도 애니메이션 제작에서는 GPU 가속이 사실상 필수라고 함.
https://www.clunix.com/insight/it_trends.php?boardid=ittrend&mode=view&idx=774