KhronosGroup/OpenCL-ICD-Loader

The OpenCL ICD Loader project.

解決的問題

本專案為開發者提供一種標準化的方法,讓他們在不需將軟體連結至特定硬體廠商的驅動程式(ICD)的情況下,建構使用 OpenCL 的應用程式。這消除了應用程式在編譯時必須知道系統中存在哪種特定 GPU 或加速器裝置的需求。

工作原理

ICD 載入器作為應用程式與實際硬體驅動程式之間的中介層。它執行三個主要功能:

  1. API 導出:提供應用程式呼叫的標準 OpenCL API 進入點。
  2. 列舉:透過 Windows 上的登錄機碼或 Linux 上的特定目錄掃描系統,尋找可用的 OpenCL 實作。
  3. 轉發:根據所使用的裝置,將應用程式的 API 呼叫路由至正確的硬體特定實作。

適用對象

開發跨平台、硬體無關的應用程式,利用 OpenCL 在 GPU、CPU 或其他加速器上進行平行運算的軟體開發者。

主要亮點

  • 硬體無關:無需廠商特定的連結,即可在任何 OpenCL 相容裝置上執行應用程式。
  • 實驗性層支援:包含一個實驗性功能,可用於載入額外的層以擴充或攔截 API 呼叫。
  • 跨平台:支援 Windows 與 Linux 環境。
  • 基於 C 的基礎設施:在 API 標頭與硬體特定的驅動程式實作之間提供清晰的分離。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案