NVIDIA представила механизмы для отслеживания прогресса и принудительной остановки процесса сборки движков TensorRT. Ранее компиляция моделей могла занимать значительное время без возможности вмешательства, что усложняло интеграцию в CI/CD пайплайны. Теперь разработчики могут внедрять колбэки для мониторинга статуса сборки и прерывать выполнение операций в Python или C++ при необходимости.
Процесс оптимизации моделей для GPU часто включает глубокий поиск тактик и работу с кэшем таймингов, что на новых архитектурах GPU может длиться от нескольких секунд до десятков минут. Внедрение функций `IBuilderConfig::setBuilderOptimizationLevel` и использование интерфейса `IBuilderConfig::setBuilderPhaseCallback` позволяет интегрировать процесс сборки в системы управления ресурсами, предотвращая зависание задач и нерациональное использование вычислительных мощностей.
Эти изменения критически важны для сред, где развертывание моделей происходит динамически или в рамках автоматизированных систем подготовки инференса. Возможность прерывания сборки позволяет гибко реагировать на изменение приоритетов задач или ошибки конфигурации, не дожидаясь завершения ресурсоемкого процесса компиляции, что повышает общую надежность инфраструктуры инференса.
Ключевые факты
- Внедрена поддержка колбэков для отслеживания фаз сборки движка через `IBuilderPhaseCallback`.
- Реализована возможность прерывания процесса сборки в любой момент через механизм возвращаемых значений колбэка.
- Поддержка реализована для API на языках Python и C++.
- Оптимизация направлена на сокращение времени простоя в пайплайнах при работе с глубокими моделями и новыми GPU SKU.
- Механизм позволяет эффективно управлять кэшем таймингов и тактическим поиском в условиях ограниченных временных ресурсов.
