Spec-Zone.ru › PyTorch 2.14

Интеграция ускорителей

Создано: 2 сентября 2025 г. | Последнее обновление: 18 мая 2026 г.

Начиная с PyTorch 2.1 сообщество добилось значительного прогресса в упрощении процесса интеграции новых ускорителей в экосистему PyTorch. Эти улучшения включают, помимо прочего, усовершенствование ключа диспетчеризации PrivateUse1, введение и развитие механизмов расширения основных подсистем, а также рефакторинг ключевых модулей с целью устранения зависимости от конкретного устройства (например, torch.accelerator, memory management). В совокупности эти достижения обеспечивают основу для надежного, гибкого и удобного для разработчиков процесса интеграции ускорителей.

Примечание

Это руководство находится в разработке. Дополнительные сведения см. в плане работ.

Почему это важно?

Этот процесс интеграции дает несколько важных преимуществ:

  • Скорость: Возможность расширения встроена во все основные модули PyTorch. Разработчики могут самостоятельно интегрировать новые ускорители в собственные кодовые базы, не изменяя вышестоящий код и не завися от пропускной способности сообщества при проверке изменений.
  • Готовность к будущему: Это стандартный путь интеграции для всех будущих возможностей PyTorch. Это означает, что по мере добавления новых модулей и возможностей они автоматически будут поддерживать масштабирование на новые ускорители, если использовать этот путь.
  • Автономность: Поставщики полностью контролируют сроки интеграции своих ускорителей, что позволяет быстро выполнять итерации и снижает зависимость от координации с вышестоящим проектом.

Целевая аудитория

Этот документ предназначен для:

  • Разработчиков ускорителей, интегрирующих ускорители в PyTorch;
  • Опытных пользователей PyTorch, интересующихся внутренним устройством ключевых модулей;

Об этом документе

Это руководство призвано дать исчерпывающее представление о современном процессе интеграции новых ускорителей в PyTorch. В нем рассматривается весь спектр интеграции: от низкоуровневых примитивов устройств до высокоуровневых предметных модулей, таких как компиляция и квантование. Структура руководства основана на модульном подходе, ориентированном на сценарии: каждая тема сопровождается соответствующими примерами кода из torch_openreg — официальной эталонной реализации. Руководство построено вокруг четырех основных направлений:

  • Среда выполнения: рассматриваются основные компоненты, такие как Event, Stream, Memory, Generator, Guard и Hooks, а также вспомогательная инфраструктура C++.
  • Операторы: рассматривается минимально необходимый набор операторов, прямые и обратные операторы, резервные операторы, fallthrough, STUB и т. д. в реализациях на C++ и Python.
  • Интерфейс Python: основное внимание уделяется привязкам Python для модулей и API, не зависящим от устройства.
  • Высокоуровневые модули: рассматривается интеграция с основными подсистемами, такими как AMP, Compiler, ONNX и Distributed.

Цель руководства — помочь разработчикам:

  • понять весь спектр задач по интеграции ускорителей;
  • следовать рекомендациям и быстро запускать поддержку новых ускорителей;
  • избегать распространенных ошибок благодаря понятным и наглядным примерам.

Далее мы подробно рассмотрим каждую главу этого руководства. Каждая глава посвящена ключевому аспекту интеграции и содержит подробные объяснения и наглядные примеры. Поскольку некоторые главы основаны на предыдущих, читателям рекомендуется изучать их по порядку, чтобы получить более целостное представление.

  • Управление устройствами
  • Хуки ускорителей
  • Guard
  • Механизм автоматической загрузки
  • Регистрация операторов
  • Автоматическая смешанная точность
  • Интеграция профилировщика
  • Интеграция распределенного обучения
  • Интеграция CI

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/accelerator/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API