OpenCL
Подробнее
- Создатель
- Apple, стандартизирован Khronos Group
- Год
- 2009 (1.0)
- Тип
- Открытый стандарт параллельных вычислений
- Официальный сайт
- khronos.org/opencl
Открытый стандарт для вычислений на GPU, CPU и FPGA из одного исходного кода — нейтральный к вендорам противовес CUDA, так и не победивший.
Первоначальное предложение набросала Apple и передала консорциуму Khronos Group, выпустившему версию 1.0 в конце 2008 года. Модель программирования напоминает CUDA: ядро пишется на диалекте C и выполняется тысячами рабочих элементов в рабочих группах, а глобальная, локальная и приватная память управляются вручную. Отличие в том, что один и тот же код должен был идти на железе любого производителя.
На практике переносимость проиграла. У Nvidia были лучшие инструменты, профилировщики и экосистема библиотек, на которую опирался код для CUDA, а качество драйверов OpenCL у разных вендоров сильно расходилось. Стандарт живёт во встраиваемых системах, обработке сигналов и как промежуточный формат SPIR-V, тогда как новая работа чаще уходит в Vulkan Compute и SYCL.