AMD и Intel договорились объединить оптимизации для PyTorch на процессорах x86 в библиотеке oneDNN. AMD планирует добавить в неё разработки ZenDNN, создав общий программный путь для процессоров обеих компаний. Пока это объявленный план: срок завершения работ не назван, а результаты тестов производительности не опубликованы.
2
3
18
Что именно меняется
По рекомендации консультативной группы x86-экосистемы компании выбрали oneDNN в качестве основной открытой библиотеки для ускорения PyTorch на x86. AMD собирается интегрировать в неё оптимизации ZenDNN и при этом продолжит работу над настройками для собственных процессоров.
2
18
Идея в том, чтобы разработчикам было проще создавать и оптимизировать задачи на PyTorch для процессоров AMD и Intel, не поддерживая отдельные программные пути для каждого производителя. Так цель сотрудничества описал Джефф Маквей из Intel.
1
Подробные технические критерии, по которым консультативная группа рекомендовала oneDNN, в доступных материалах не приведены. Компании связывают общий библиотечный слой с упрощением разработки и сокращением фрагментации программной среды.
1
2
Как в проект вписывается ZenDNN
oneDNN — библиотека с открытым исходным кодом, разработку которой начала Intel; сейчас проект находится под управлением фонда Unified Acceleration Foundation (UXL). ZenDNN — библиотека с оптимизациями для архитектуры AMD Zen. Планируемая интеграция переносит наработки AMD в общий проект, но не означает отказа от настроек под конкретные процессоры.
2
6
13
AMD также присоединилась к UXL в качестве участника руководящего уровня. Это даёт компании роль в управлении фондом, однако доступные источники не уточняют её права голоса и не описывают, как именно это повлияет на принятие решений.
2
9
Сроки и AI Compute Extensions
Компании не назвали дату завершения интеграции ZenDNN, целевой выпуск PyTorch или версию oneDNN, в которую войдут изменения. Данных о замерах производительности тоже пока нет.
3
4
AMD и Intel также планируют добавить в будущие версии oneDNN поддержку AI Compute Extensions (ACE) — расширений, предназначенных для ускорения матричных умножений.
7 В предварительной версии oneDNN 3.14 уже появилась начальная поддержка инструкций ACE, но по умолчанию она не включена. Чтобы активировать её, нужно задать переменную окружения ONEDNN_MAX_CPU_ISA=AVX10_2_ACE.
10
Это предварительная поддержка в oneDNN сама по себе не показывает, когда ACE появятся в PyTorch.
7
10 Для разработчиков главный практический вывод пока такой: компании наметили общий путь через oneDNN, но его внедрение, сроки и эффект для производительности ещё предстоит подтвердить.