Группа Khronos, отвечающая за разработку спецификаций семейства OpenGL и OpenCL, представила спецификацию WebCL 1.0, которая описывает JavaScript-интерфейс к стандарту OpenCL (Open Computing Language), определяющему API и расширения языка Си для организации кросс-платформенных параллельных вычислений с использованием как многоядерных CPU, так и GPU видеокарт. В разработке спецификации приняли участие такие компании и организации, как Adobe, AMD, Aptina, ARM, Google, Imagination Technologies, Mozilla, Intel, Nokia, NVIDIA, Opera Software, Samsung и Qualcomm.
Применение WebCL позволяет добиться существенного повышения производительности выполнения в web-приложении ресурсоёмких вычислительных операций, таких как компьютерное моделирование, симуляция физических процессов, научные вычисления, обработка изображений и видео, компьютерные игры. В сочетании с WebGL новый стандарт открывает двери для создания web-приложений принципиально нового уровня, разработка которых на JavaScript ранее была невозможной в силу необходимости задействования большого объема вычислений.
WebCL 1.0 основан на функциональности профиля OpenCL 1.1 для встраиваемых систем и может быть развёрнут поверх любой реализации OpenCL 1.1 или OpenCL 1.2. По организации процесса разработки и архитектуре WebCL очень близок WebGL, который определяет способ формирования аппаратно ускоренного 3D-контента при помощи HTML5-конструкций "Canvas" и JavaScript-интерфейса к OpenGL API. Типичное WebCL-приложение начинается с создания объекта через вызов WebCLComputeContext, в то время, как в случае WebGL вызывается WebGLRenderingContext. В дальнейшем созданный объект выступает в роли связующего звена для обращения к API OpenCL, примерно так же как осуществляется доступ к API OpenGL при использовании WebGL.
Для преобразования уже созданных ядер OpenCL предоставляется специальный открытый транслятор в WebCL. Также подготовлен инструментарий для проверки WebCL на предмет безопасного обращения с памятью. Компания AMD подготовила реализацию движка WebCL для браузера Chromium, а компания Nokia развивает код для поддержки WebCL для Firefox. Для тестирования возможностей WebCL подготовлено несколько готовых демонстраций. Например, демонстрация симуляции поведения 1024 частиц на WebCL опережает по производительности реализацию на JavaScript в 20-40 раз, а демонстрация деформации поверхности в 87-116 раз. Также доступна демонстрация редактора фотографий, оформленного в виде web-приложения и интерактивный редактор ядер WebCL.
Кроме WebCL 1.0 и на днях анонсированного OpenGL ES 3.1 группа Khronos также выпустила:
- EGL 1.5 - программный интерфейс для организации доступа оконных систем к API рендеринга, таким как OpenGL и OpenGL ES. EGL получил распространение на платформе Android и выступает в роли альтернативы интерфейсу GLX. EGL используется для обращения к функциям рендеринга в Wayland и Mir. В новой версии EGL улучшена поддержка 64-разрядных платформ. Реализованы специфичных для платформ расширения для Wayland, Android, GBM и X11, позволяющие использовать одну реализацию EGL для поддержки разных оконных систем. Также добавлена поддержка объектов EGLImage, улучшена реализация EGLContext, учтены новые возможности свежих спецификаций OpenGL, Open GL ES и OpenCL.
- OpenCL 2.0 Adopters Program - тестовый набор для проверки совместимости с OpenCL 2.0;
- SYCL 1.2 - кроссплатформенная прослойка для разработки с использованием OpenCL 1.2 на языке C++.
|