Концер Khronos, отвечающая за разработку спецификаций семейства OpenGL и OpenCL, объявил (https://www.khronos.org/news/press/khronos-releases-opencl-2.0) о завершении разработки спецификаций OpenCL 2.0, определяющих API и расширения языка Си для организации кросс-платформенных параллельных вычислений с использованием как многоядерных CPU, так и GPU видеокарт. Стандарт OpenCL полностью открыт и не требует лицензионных отчислений. В работе над стандартом приняли участие такие компании, как IBM, NVIDIA, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba, Intel, национальная лаборатория Los Alamos и Nokia. Предварительная версия стандарта была представлена (http://www.opennet.ru/opennews/art.shtml?num=37486) в июле. Теперь доработка спецификаций OpenCL завершена.
Наиболее заметные изменения в OpenCL 2.0:
- Поддержка разделяемой виртуальной памяти, позволяющая организовать совместный доступ к структурам данных из различных OpenCL-ядер, не требующя выполнения ресурсоёмких операций по копированию данных между хостом и устройствами OpenCL;
- Динамический параллелизм - ядра устройств OpenCL могут самостоятельно инициировать выполнение дополнительных ядер OpenCL на том же устройстве, без обращения к хосту. Указанная возможность позволяет исключить излишний обмен с хостом данными и командами управления выполнением, снизив нагрузку на CPU хоста;
- Улучшенная поддержка форматов изображений (sRGB и 3D), в том числе возможность создания изображений из текстур OpenGL;
- Поддержка атомарных операций и методов синхронизации, описанных в стандарте C11 (C11 Atomics);
- Поддержка Pipes, объектов памяти, организованных по принципу FIFO, включая функции для прямого доступа к pipes;
- Клиентский драйвер для платформы Android, позволяющий определять и загружать реализации OpenCL в виде разделяемого объекта для Android.
Кроме того, опубликован (https://www.khronos.org/news/press/khronos-releases-openvx-1... предварительный вариант нового открытого стандарта OpenVX 1.0, предоставляющего аппаратно акселерированный API для разработки переносимых, высокопроизводительных и энергоэффективных приложений и библиотек для
решения задач компьютерного зрения (http://ru.wikipedia.org/wiki/%D0%9A%D0%B... (обнаружение, слежение и классификация объектов на изображениях и видеоданных). В частности, OpenVX предоставляет возможность использования серии алгоритмов для распознавания и отслеживания перемещения лица, тела и жестов, автоматизации видеонаблюдения, автоматических систем помощи водителю, реконструкции объектов и сцен, дополненной реальности (http://ru.wikipedia.org/wiki/%D0%94%D0%B... визуального осмотра, робототехники и многих других применений. Обработка данных в OpenVX-приложениях производится через манипуляцию с графом функциональных узлов, работа с которым может быть ускорена за счёт привлечения CPU, GPU, DSP и дополнительных аппаратных устройств, а также раздельной обработки фрагментов (tiling).
Дополнительно можно отметить развиваемый (http://www.amd.com/us/press-releases/Pages/amds-revolutionar... компанией AMD проект Mantle, в рамках которого ведётся разработка API рендеринга графики, ориентированого на разработку игр и графических приложений, и конкурирующего с OpenGL, OpenGL ES и Direct3D. Mantle отличается простотой, изначальной ориентацией на переносимость, высокой эффективностью работы с GPU, снижением нагрузки на CPU, более высокой производительностью выполнения вызовов отрисовки и возможностью прямого обращения к памяти и возможностям GPU.
В настоящее время экспериментальная поддержка Mantle уже добавлена в драйвер Catalyst для Windows и ожидается (http://www.planet3dnow.de/cms/5720-apu13-andersson-will-mant... для Linux, OS X, Android и iOS. Mantle не привязан к продуктам AMD и абстрагирован от аппаратного обеспечения, что позволяет подготовить реализациею поддержки GPU от других производителей. Для доступа к специфичным для разных платформ возможностям предусмотрена система расширений.
URL: https://www.khronos.org/news/press/khronos-releases-opencl-2.0
Новость: http://www.opennet.ru/opennews/art.shtml?num=38476