WebCL
Тип | API |
---|---|
Розробник | WebCL Working Group |
Стабільний випуск | 1.0 (19 березня 2014 ) |
Версії | 1.0.0 (14 березня 2014) |
Операційна система | крос-платформовий |
Вебсайт | www.khronos.org/webcl/ |
WebCL — специфікація, яка описує JavaScript-інтерфейс до стандарту OpenCL (Open Computing Language), що визначає API та розширення мови Сі для організації крос-платформових паралельних обчислень з використанням як багатоядерних CPU, так і GPU-відеокарт. Випуском специфікації WebCL займається група Khronos, що відповідає за розробку специфікацій сімейства OpenGL і OpenCL. У розробці специфікації взяли участь такі компанії та організації, як Adobe, AMD, Aptina, ARM, Google, Imagination Technologies, Mozilla, Intel, Nokia, NVIDIA, Opera Software, Samsung і Qualcomm.
Застосування WebCL дозволяє домогтися істотного підвищення продуктивності виконання у вебзастосунку ресурсномістких обчислювальних операцій, таких як комп'ютерне моделювання, симуляція фізичних процесів, наукові обчислення, обробка зображень і відео, комп'ютерні ігри. У поєднанні з WebGL стандарт WebCL надає технології для створення вебзастосунків принципово нового рівня, розробка яких на JavaScript раніше була неможливою в силу необхідності виконання великого обсягу обчислень.
WebCL заснований на функціональності профілю OpenCL для вбудованих систем і може бути розгорнутий поверх будь-якої реалізації OpenCL. За організацією процесу розробки та архітектури WebCL дуже близький WebGL, який визначає спосіб формування апаратно прискореного 3D-контента за допомогою HTML5-конструкцій «Canvas» і JavaScript-інтерфейсу до OpenGL API. Типовий WebCL-застосунок починається зі створення об'єкта через виклик WebCLComputeContext, в той час, як у випадку WebGL викликається WebGLRenderingContext. Надалі створений об'єкт виступає в ролі сполучної ланки для звернення до API OpenCL, приблизно так само як здійснюється доступ до API OpenGL при використанні WebGL.