Открытый

  • История и развитие OpenCL

    • OpenCL — это открытый стандарт для параллельного программирования, разработанный Khronos Group. 
    • Он был создан для замены устаревшего стандарта Open Graphics Library (OpenGL) и стал популярным среди разработчиков игр и профессионального программного обеспечения. 
    • OpenCL поддерживает различные типы устройств, включая графические процессоры, центральные процессоры и специализированные ускорители. 
  • Спецификация OpenCL

    • Спецификация OpenCL определяет API для параллельного программирования и включает в себя язык ядра OpenCL C и C++. 
    • Она включает в себя различные расширения, такие как поддержка векторных типов данных и операций с плавающей запятой. 
    • OpenCL 2.0 представил общую виртуальную память, вложенный параллелизм и другие улучшения. 
    • OpenCL 2.1 добавил поддержку SPIR-V и улучшил оптимизацию кода. 
    • OpenCL 2.2 представил язык ядра OpenCL C++ и новый тип хранилища на стороне устройства. 
    • OpenCL 3.0 отказался от языка ядра OpenCL C++ в пользу C++ для OpenCL, основанного на компиляторе Clang/LLVM. 
  • Реализации OpenCL

    • OpenCL состоит из заголовков и общего объекта, которые загружаются во время выполнения. 
    • Для поддержки OpenCL на различных платформах требуются устанавливаемые клиентские драйверы (ICD). 
    • Apple, Nvidia, ROCm, RapidMind и Gallium3D используют LLVM и Clang для компиляции кода OpenCL. 
  • История внедрения и демонстрации

    • OpenCL был представлен на WWDC 2008 и продемонстрирован на SIGGRAPH Asia 2008. 
    • PowerVR SGX543MP стал первым графическим процессором с поддержкой OpenCL. 
    • AMD и Havok представили первую рабочую реализацию OpenCL-ускорителя на GDC 2009. 
    • Nvidia выпустила драйвер OpenCL и SDK в апреле 2009 года. 
    • Mac OS X Snow Leopard и ATI Stream SDK 2.0 от AMD обеспечили полную реализацию OpenCL. 
  • Перспективы и дорожная карта

    • OpenCL стремится к интеграции с Vulkan для обеспечения гибкости развертывания программного обеспечения. 
    • «OpenCL Next» находится в разработке и планируется к выпуску в 2020 году. 
  • Реализации с открытым исходным кодом

    • OpenCL включает в себя стандартные заголовки и общий объект, которые загружаются во время выполнения. 
    • Для каждой платформы требуется устанавливаемый клиентский драйвер (ICD). 
    • Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала. 

Полный текст статьи:

OpenCL — Википедия

Оставьте комментарий

Прокрутить вверх