GPU는 실시간 그래픽 처리용으로 개발되었으나, 계산 능력이 강화되어 일반적인 산술 연산 처리에도 쉽게 이용할 수 있도록 개선되면서 다양한 데이터 병렬 응용(data parallel application)들을 위한 가장 이상적인 보조 프로세서로서의 입지를 굳혀가고 있다.초기 GPU는 몇 가지 치명적인 결점들을 가지고 있었다. 프로그래밍을 위해서는 GPU 내부 구조와 그래픽 API(application program interface)에 대한 지식이 필요하다는 것과 그래픽 프로그래밍 자체가 너무 복잡하다는 것이다.기억장치에 대한 직접적인 읽기 및 쓰기와 같은 기본적인 연산은 과학 기술 응용들에 필수적인 부동소수점 연산이 지원되지 않았고, 그러한 문제점에도 불구하고 GPU가 널리 보급되기 시작한 것은 NVI..