Выпуск PoCL 0.14, независимой реализации стандарта OpenCL
12 апреля 2017 года
Представлен релиз проекта PoCL 0.14 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT. Поддерживается работа на платформах X86_64, MIPS32, ARM v7, AMD HSA APUs и различные специализированные TTA-процессоры ( Transport Triggered Architecture) c архитектурой VLIW.
Реализация компилятора ядер OpenCL построена на базе LLVM, а в качестве фронтэнда для OpenCL C используется Clang. Для обеспечения должной переносимости и производительности компилятор ядер OpenCL может генерировать комбинированные функции, которые могут использовать различные аппаратные ресурсы для распараллеливания выполнения кода, такие как VLIW, суперскалярность, SIMD, SIMT, многоядерность и многопоточность.
Имеется поддержка ICD-драйверов (Installable Client Driver) и устройств на базе архитектуры HSA. PoCL пока не полностью охватывает весь API OpenCL, но уже подходит для выполнения большинства OpenCL-программ и тестовых наборов. Например, выполняются ViennaCL 1.5.1, Rodinia 2.0.1, Parboil Benchmarks, Luxmark v2.0 и примеры из руководства по OpenCL и AMD APP SDK v2.9. PoCL также проходит более 97% тестов из набора piglit.
В новой версии реализована возможность использования выпусков LLVM/Clang 3.9 и 4.0. Представлен новый бинарный формат, включающий итоговые исполняемые компоненты, которые позволяют запускать OpenCL-приложения на хостах без online-компилятора. Обеспечена начальная поддержка планирования выполнения задач по неупорядоченной очереди команд. Внесены оптимизации и исправлены некоторые давно висевшие проблемы.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.