Железо

Мир, дружба, oneAPI: открытая платформа Intel упростит разработку для чипов AMD, ARM, NVIDIA, POWER и FPGA

Ни для кого не секрет, что единой оптимальной вычислительной архитектуры не существует. Разные виды задач и сценариев порождают и разные виды нагрузок, с которыми разные процессоры справляются по-разному. Программировать подо всё это разнообразие очень непросто, вот почему Intel взяла на себя задачу создать единую модель разработки в рамках проекта oneAPI, первый мажорный релиз которой вышел на днях.

Архитектура Intel oneAPI

Архитектура Intel oneAPI

По мере того, как вычислительная техника и ИТ-технологии проникают во все сферы жизни, рождаются всё новые и новые виды нагрузок. К примеру, в последнее время очень популярна поддержка целочисленных форматов типа INT8 для задач машинного обучения, где точностью, достигаемой в формате FP64, можно пожертвовать ради скорости и эффективности. Процессоры «обвешиваются» всё новыми инструкциями, появляются целые новые классы вычислительных устройств — и над всеми ними встаёт вопрос о том, как подо всё это эффективно писать программное обеспечение.

Многие видят ответ в создании унифицированных прослоек, вроде упомянутой недавно VMware с её Project Monterey. Корпорация Intel придерживается похожей точки зрения со своим проектом oneAPI. Данная разработка представляет собой унифицированную и открытую программную платформу, позволяющую абстрагироваться от аппаратной архитектуры устройств и писать код, задействующий все имеющиеся вычислительные ресурсы, будь то CPU, GPU, DPU или иные. Основой для oneAPI стал язык DPC++, который, в свою очередь, базируется на стандартах C++ и Kronos SYCL.

Один API, чтобы править всеми

Один API, чтобы править всеми (видами вычислений)

Впервые об oneAPI мир узнал в конце 2018 года, а сегодня проект достиг важной вехи: компания официально объявила о релизе oneAPI 1. 0. Проект, как уже было сказано, имеет открытые спецификации, с которыми можно ознакомиться в соответствующем разделе сайта, посвящённого oneAPI; есть у новинки и свой репозиторий на GitHub. В состав oneAPI входят базовые библиотеки, компилятор DPC++ на базе LLVM/Clang, ряд библиотек производительности Intel, а также средства анализа и отладки кода.

Немаловажен и тот факт, что в состав проекта входит средство миграции кода, написанного на CUDA — таким образом, всё программное богатство, наработанное для ускорителей NVIDIA, может быть сделано доступным и для других платформ. Отдельно заслуживает упоминание богатство библиотек для создания приложений с использованием машинного обучения и аналитики: oneDNNL, one Video Processing Library и других. Опробовать oneAPI можно также в специальной облачной «песочнице», развёрнутой Intel специально для разработчиков, заинтересованных в новых методах разработки ПО.

Так как и сама платформа, и нижележащая инфраструктура LLVM открыты, расширить возможности oneAPI относительно просто, чем и занимается ряд организаций. Например, над совместимостью с NVIDIA работает Codeplay, центр URZ занят добавлением расширений DPC++ в проект hipSYCL, который работает с любыми CPU (OpenMP), GPU NVIDIA (CUDA) и AMD Radeon (HIPC/ROCm). А некоторые one-библиотеки от самой Intel уже имеют поддержку ARM и POWER. Для собственных FPGA у Intel тоже есть наработки, а вот Xilinx, похоже, пока остаётся за бортом. Последняя, впрочем, имеет своё видение процесса разработки.

| Можете написать лучше? Мы всегда рады новым авторам.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»