2009-06-11 2 views
7

CUDA, OpenCL 및 포틀랜드 그룹이 제공하는 GPU 옵션은 흥미 롭습니다. 결과는 심각합니다 (일부 그룹의 경우 125-times speedup). GPGPU 도구의 다음 물결이 과학 컴퓨팅 세계를 지배 할 태세 인 것처럼 들립니다. 그러나 GLSL과 Cg가 발표되었을 때 나는 같은 과장을 회상합니다.CUDA, OpenCL, PGI 등 ....하지만 GLSL과 Cg는 어떻게 되었습니까?

GLSL과 Cg는 무엇이 었습니까? 지원이 중단 되었습니까? 사람들이 GLSL & Cg를 GPU의 범용 컴퓨팅에 여전히 사용하고 있습니까?

답변

12

GPGPU에 Cg 또는 GLSL을 사용하는 날은 거의 끝났습니다. 그러나 3D 그래픽에 많이 사용되며 가까운 장래에 이러한 방식으로 계속 사용될 것입니다. GLSL과 Cg는 과학적 계산을 위해서만 사용되었는데, 그 이유는 그것이 게임의 유일한 게임이기 때문입니다. GPU에서 범용 계산을 수행하는 다른 대안은 없었습니다.

지금 GPGPU에 GLSL을 사용하는 유일한 이유는 플랫폼에 의존하지 않는 것입니다. 다양한 GPU에서 소프트웨어를 실행할 수 있어야하는 경우, 지금은 여전히 ​​이동 방법입니다. OpenCL은 가까운 장래에 이것을 바꿀 것입니다.

과학 컴퓨팅이 CUDA 및 OpenCL과 같은 것으로 이동하는 이유는 많습니다. 이 라이브러리는 GPU 하드웨어에 대한 액세스를 향상시키고 성능 병목 현상에 대한 훨씬 더 투명성을 제공합니다. 따라서 GPU에서 최대 성능을 얻는 것이 더 쉬워집니다. CUDA 및 OpenCL은 또한 GLSL 또는 Cg에서는 사용할 수 없지만 많은 알고리즘 (예 : 행렬 전치)에서 우수한 성능을 얻는 데 중요한 기능 (예 : 공유 메모리)을 제공합니다. 또 다른 이유는 CUDA 및 OpenCL을 사용하면 그래픽 컨텍스트 없이도 GPU에 액세스 할 수 있기 때문에 컴퓨터의 GPU를 원격으로 사용하여 계산할 수 있습니다.

4

사과를 오렌지와 비교하고 있습니다. CUDA 및 OpenCL은 GPU에서 범용 컴퓨팅을 수행하기위한 것입니다. GLSL과 Cg는 셰이더 언어입니다. 주로 쉐이더를 작성하고 범용 컴퓨팅을 수행하지 않습니다.

GLSL의 실제 상태에 대해서는 잘 모르지만 Cg에 대해서는 알고 있습니다. 제가 사용한 지 수년이 지났지 만 새로운 3D 게임을 한 친구는 Cg를 사용하여 셰이더를 작성했습니다. 한때 Cg 뒤에있는 커뮤니티와 산업계의 지원이 동일하지 않더라도, 여전히 그곳에 있으며, 여전히 사용할 수 있습니다.

+0

"Cg 뒤에는 같은 공동체 및 업계 지원이 없었습니다 ..."이것은 내가 묻는 이유 중 일부입니다. CUDA, OpenCL 등은 지금 큰 추진력을 가지고 있습니다. 지금부터 1 년 후에 사라질 것인가? 내 응용 프로그램을 포팅하는 데 엄청난 시간을 투자하면 소프트웨어 또는 하드웨어가 거의 지원되지 않습니다. – Pete

+1

CUDA와 OpenCL 중 적어도 하나가 앞으로도 계속 강력한 지원을받을 것이라고 생각합니다. 범용 컴퓨팅을 위해 GPU를 사용하는 것은 셰이더를 만드는 소수의 사람들보다 훨씬 많은 사람들이 사용하는 것입니다. – Apreche

+1

"앞으로 1 년 후에 사라질 것인가?" 당신의 걱정거리라면 OpenCL이 가장 안전한 방법입니다. CUDA는 NVidia 하드웨어에서만 실행됩니다. AMD/ATI의 Stream SDK (일명 CAL)는 하드웨어에서만 실행됩니다. 어느 쪽도 라라 비에 달리지 않을 것이다. DirectX 11 컴퓨팅 쉐이더는 Windows XP, Linux 또는 Mac OS가 아닌 Vista 또는 Windows 7에서만 여러 제조업체의 하드웨어에서 실행해야합니다. OpenCL은 모든 플랫폼에서 실제로 표준으로 사용되는 첫 번째 도구 세트가 될 것이므로 일반적인 지혜는 그것이 살아남고 다른 사람들은 죽을 것이라는 것입니다. –

0
  • 게임 개발사 인 경우 Cg/HLSL
  • OpenCL 매우 모험적인 게임 개발자 인 경우.

데스크톱의 다른 사용자는 필요한 하드웨어가 제공되지 않을 수도 있습니다.

이러한 모든 솔루션의 미래는 희미 해 보입니다. 우리는 GPGPU가 데스크톱과 병합에 걸리기 전에 최소한 1 ~ 2 세대 이상의 언어를 보게 될 것입니다.