OpenCL
"Open Computing Language"의 약자입니다. OpenCL은 크로스 플랫폼 병렬 프로그래밍을 위한 개방형 표준입니다. Apple이 2008년에 처음 개발했으며, 현재는 Khronos Group이 관리합니다. OpenCL을 지원한 최초의 주요 운영 체제는 2009년에 출시된 Snow Leopard(Mac OS X 10.6)였습니다.
OpenCL은 소프트웨어 프로그램이 여러 프로세서에 동시에 액세스하여 병렬 처리를 수행할 수 있도록 하는 API를 제공합니다. 예로는 CPU, GPU, 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA)가 있습니다. 여러 프로세서에 컴퓨팅 작업을 분산하면 OpenCL은 처리 효율을 높이고 프로그램의 성능을 크게 향상할 수 있습니다.
OpenCL은 다양한 유형의 프로세서를 지원하지만, 특히 일반적인 컴퓨팅 작업을 위해 GPU에 액세스하는 데 사용됩니다. GPGPU라고도 하는 이 기술은 GPU의 처리 능력을 활용하여 CPU가 계산을 완료하는 일을 지원하도록 합니다. OpenCL이 등장하기 전에는 CPU가 최대 용량으로 실행되는 동안 그래픽 프로세서는 유휴 상태로 남아 있는 경우가 많았습니다. OpenCL을 사용하면 GPU가 그래픽과 관련 없는 계산 작업을 처리할 때 CPU를 지원할 수 있습니다.
OpenCL을 활용하려면 하드웨어와 소프트웨어가 모두 OpenCL API를 지원해야 합니다. OpenCL이 제공하는 성능상의 이점 때문에 NVIDIA와 AMD가 개발한 대부분의 비디오 카드는 이제 OpenCL을 지원합니다. 스마트폰과 태블릿에 사용되는 것과 같은 많은 모바일 그래픽 프로세서도 OpenCL을 지원합니다.
지식 테스트하기