KhronosGroup/OpenCL-ICD-Loader

The OpenCL ICD Loader project.

해결하는 문제

이 프로젝트는 개발자가 특정 하드웨어 벤더의 드라이버(ICD)에 소프트웨어를 링크하지 않고도 OpenCL을 사용하는 애플리케이션을 개발할 수 있는 표준화된 방법을 제공합니다. 이로 인해 애플리케이션이 컴파일 시점에 시스템에 어떤 특정 GPU나 가속기 장치가 존재하는지 알 필요가 없어집니다.

작동 방식

ICD 로더는 애플리케이션과 실제 하드웨어 드라이버 사이의 중개 계층으로 작동합니다. 주로 세 가지 주요 기능을 수행합니다:

  1. API 내보내기: 애플리케이션이 호출하는 표준 OpenCL API 엔트리 포인트를 제공합니다.
  2. 열거: Windows에서는 레지스트리 키, Linux에서는 특정 디렉터리를 통해 시스템을 스캔하여 사용 가능한 OpenCL 구현을 찾습니다.
  3. 전달: 사용 중인 디바이스에 따라 애플리케이션의 API 호출을 적절한 하드웨어 전용 구현으로 라우팅합니다.

대상 사용자

GPU, CPU 또는 기타 가속기에서 병렬 컴퓨팅에 OpenCL을 활용하는 크로스플랫폼 및 하드웨어 독립적인 애플리케이션을 개발하는 소프트웨어 개발자.

주요 특징

  • 하드웨어 독립성: 벤더별 링크 없이 OpenCL 호환 장치에서 애플리케이션을 실행할 수 있습니다.
  • 실험적 레이어 지원: API 호출을 확장하거나 가로채는 데 사용할 수 있는 실험적 기능을 포함합니다.
  • 크로스플랫폼: Windows 및 Linux 환경을 모두 지원합니다.
  • C 기반 인프라: API 헤더와 하드웨어 전용 드라이버 구현 사이에 명확한 분리를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트