GPGPU에 Cg 또는 GLSL을 사용하는 날은 거의 끝났습니다. 그러나 3D 그래픽에 많이 사용되며 가까운 장래에 이러한 방식으로 계속 사용될 것입니다. GLSL과 Cg는 과학적 계산을 위해서만 사용되었는데, 그 이유는 그것이 게임의 유일한 게임이기 때문입니다. GPU에서 범용 계산을 수행하는 다른 대안은 없었습니다.
지금 GPGPU에 GLSL을 사용하는 유일한 이유는 플랫폼에 의존하지 않는 것입니다. 다양한 GPU에서 소프트웨어를 실행할 수 있어야하는 경우, 지금은 여전히 이동 방법입니다. OpenCL은 가까운 장래에 이것을 바꿀 것입니다.
과학 컴퓨팅이 CUDA 및 OpenCL과 같은 것으로 이동하는 이유는 많습니다. 이 라이브러리는 GPU 하드웨어에 대한 액세스를 향상시키고 성능 병목 현상에 대한 훨씬 더 투명성을 제공합니다. 따라서 GPU에서 최대 성능을 얻는 것이 더 쉬워집니다. CUDA 및 OpenCL은 또한 GLSL 또는 Cg에서는 사용할 수 없지만 많은 알고리즘 (예 : 행렬 전치)에서 우수한 성능을 얻는 데 중요한 기능 (예 : 공유 메모리)을 제공합니다. 또 다른 이유는 CUDA 및 OpenCL을 사용하면 그래픽 컨텍스트 없이도 GPU에 액세스 할 수 있기 때문에 컴퓨터의 GPU를 원격으로 사용하여 계산할 수 있습니다.
"Cg 뒤에는 같은 공동체 및 업계 지원이 없었습니다 ..."이것은 내가 묻는 이유 중 일부입니다. CUDA, OpenCL 등은 지금 큰 추진력을 가지고 있습니다. 지금부터 1 년 후에 사라질 것인가? 내 응용 프로그램을 포팅하는 데 엄청난 시간을 투자하면 소프트웨어 또는 하드웨어가 거의 지원되지 않습니다. – Pete
CUDA와 OpenCL 중 적어도 하나가 앞으로도 계속 강력한 지원을받을 것이라고 생각합니다. 범용 컴퓨팅을 위해 GPU를 사용하는 것은 셰이더를 만드는 소수의 사람들보다 훨씬 많은 사람들이 사용하는 것입니다. – Apreche
"앞으로 1 년 후에 사라질 것인가?" 당신의 걱정거리라면 OpenCL이 가장 안전한 방법입니다. CUDA는 NVidia 하드웨어에서만 실행됩니다. AMD/ATI의 Stream SDK (일명 CAL)는 하드웨어에서만 실행됩니다. 어느 쪽도 라라 비에 달리지 않을 것이다. DirectX 11 컴퓨팅 쉐이더는 Windows XP, Linux 또는 Mac OS가 아닌 Vista 또는 Windows 7에서만 여러 제조업체의 하드웨어에서 실행해야합니다. OpenCL은 모든 플랫폼에서 실제로 표준으로 사용되는 첫 번째 도구 세트가 될 것이므로 일반적인 지혜는 그것이 살아남고 다른 사람들은 죽을 것이라는 것입니다. –