KPETOB.COM

Kretov Nikolai Nikolaevich: OpenCL 소개

개발은 악명 높은 Khronos Group이 주도합니다. OpenGl 및 OpenAL을 홍보하는 것. 게다가 OpenGL과 OpenCL은 본질적으로 동일한 소프트웨어 인프라에 속하며 매우 밀접하게 상호 작용할 수 있습니다.

아이디어의 본질은 우리가 우리 앞에 있는 프로세서나 비디오 카드에 절대 신경 쓰지 않는다는 것입니다. 우리는 플랫폼에서 추상화하고 N개의 컴퓨팅 장치가 있다고 생각합니다. 표준인 OpenCL은 이러한 장치에서 컴퓨팅하기 위한 규칙을 설명합니다. 따라서 모든 플랫폼에 절대적으로 이식 가능한 단일 코드를 얻습니다. AMD 또는 Intel에는 프로세서, nVidia 또는 ATI 비디오 카드, 또는 셀 코어가 있는 블레이드 서버가 있습니다. 전혀 중요하지 않습니다. 응용 프로그램은 장치가 OpenCL 표준을 지원하는 모든 곳에서 작동합니다.

SIMD 명령어에 대한 병렬 컴퓨팅에 대해 이야기하고 있다는 점은 주목할 가치가 있습니다.

OpenCL은 C 언어의 확장으로 호스트 응용 프로그램과 OpenCL 응용 프로그램이 있습니다. 호스트는 사용 가능한 장치 세트를 준비하고 실행을 위해 작업을 OpenCL 부분으로 전달합니다. 그 후 OpenCL은 결과를 이행하고 호스트에 반환합니다.

OpenCL 코드는 *.cl 파일에 저장되고 주어진 아키텍처에 대해 런타임에 컴파일됩니다. 이것은 응용 프로그램의 이식성을 보장합니다.

Apple은 Snow Leopard 운영 체제에서 OpenCL에 대한 커널 수준 지원을 출시하여 한 단계 더 나아가 상당한 성능 향상을 달성했습니다.

무엇을 위해 필요합니까?

OpenCL은 SIMD 알고리즘을 잘 먹습니다. 이것이 그가 창조된 목적입니다. 그리고 이것은 다양한 암호화, 다양한 후처리 효과, 음향 처리 및 다양한 수학적 모델, 비디오 인코딩입니다.

개발자용

현재 nVidia OpenCL SDK, AMD OpenCL SDK 버전을 사용할 수 있습니다. 이러한 회사의 공식 웹사이트에서 항상 다운로드할 수 있습니다.

향후 기사에서는 이 기술을 실제로 응용 프로그램에서 사용하는 방법을 알려 드리겠습니다.