Развитие экосистемы NVIDIA CUDA — это не просто очередное обновление версии, а фундаментальный сдвиг в том, как мы взаимодействуем с аппаратным обеспечением для искусственного интеллекта и высокопроизводительных вычислений. С выходом CUDA Toolkit 13.5 компания NVIDIA делает важный шаг, переводя поддержку новой архитектуры GPU Vera Rubin из стадии раннего доступа в стадию полной готовности к производству (General Availability). Это событие знаменует начало новой эры для разработчиков, работающих с крупными языковыми моделями (LLM) и сложными научными симуляциями, где масштабируемость и эффективность использования ресурсов становятся критическими факторами.
Но важность CUDA 13.5 не ограничивается только поддержкой нового железа. Это релиз, который приносит глубокую оптимизацию на уровне программного стека: от улучшенного управления локальными доменами и многопроцессного сервиса (MPS) до революционных возможностей в CUDA Tile и Python-интеграциях. В этой статье мы подробно разберем каждый аспект обновления, объясним, как эти функции работают под капотом, и покажем, как их можно применить для ускорения ваших проектов, даже если вы работаете в условиях ограниченного доступа к облачным ресурсам из России.
01Архитектура Vera Rubin и переход к GA
Одним из главных нововведений CUDA 13.5 является полная поддержка архитектуры NVIDIA Vera Rubin. Ранее этот процессор находился в стадии раннего доступа для разработчиков, что позволяло NVIDIA собирать обратную связь и отлаживать драйверы. Теперь же поддержка переходит в статус General Availability (GA), что означает, что разработчики могут уверенно использовать эту архитектуру в продакшен-средах.
Для инженеров, работающих с AI-инфраструктурой, это означает возможность развертывания более эффективных кластеров. Архитектура Vera Rubin спроектирована с учетом требований современных AI-нагрузок, предлагая заметное улучшение характеристик. Важно отметить, что с архитектурой Rubin также меняется подход к драйверам Windows. NVIDIA вводит поддержку новых моделей драйверов, таких как Microsoft Compute Driver Model (MCDM). Модель MCDM предоставляет вычислительно-ориентированный драйвер, который может быть более эффективным для серверных задач, чем традиционные графические драйверы. Старая модель Tesla Compute Cluster (TCC) больше не поддерживается на GPU серии Rubin и новее, поэтому приложениям и инструментам развертывания необходимо адаптироваться к новым стандартам.
Кроме того, поддержка Windows on Arm, которая стала общедоступной в CUDA 13.4, теперь расширена на платформу NVIDIA DGX Station for Windows. Это открывает новые возможности для развертывания компактных AI-решений на базе архитектуры ARM, что особенно актуально для сценариев, где важна энергоэффективность и компактность оборудования.
02Локальные домены и тонкая настройка SM
Одной из самых технических, но и самых мощных функций CUDA 13.5 является улучшение работы с локальными доменами (Locality Domains). В предыдущих версиях приложения могли выбирать между равномерными partitions потоковых мультипроцессоров (SM) или partitions, включающими все доступные SM. CUDA 13.5 дает разработчикам еще больше контроля над этим процессом.
По умолчанию локализованные зеленые контекстные partitions используют одинаковое гарантированное количество SM на домен, оставляя дополнительные SM вне этих partitions. Однако с помощью нового флага cudaDevSmResourceGroupLocalityDomainSupplementalSms, в сочетании с cudaDevSmResourceGroupLocalityDomainId, приложения могут включить эти дополнительные SM в каждый выбранный домен. Это позволяет использовать все ресурсы GPU при разбиении на локальные домены, хотя resulting partitions могут отличаться по размеру.
Приложения могут использовать режим обнаружения в API cudaDevSmResourceSplit() для получения количества SM в каждой partition и распределения работы соответствующим образом. Это дает разработчикам выбор: либо придерживаться единообразия и предсказуемости одинакового размера SM для каждого локального домена, либо выбрать максимальное количество SM, которое имеет каждый локальный домен, и использовать как можно больше аппаратных ресурсов GPU. Для получения подробной информации рекомендуется обратиться к документации CUDA Runtime API.
03NVIDIA Multi-Process Service (MPS) v3: Новый уровень изоляции
NVIDIA Multi-Process Service (MPS) v3 представляет собой значительное обновление сервиса, который позволяет нескольким процессам совместно использовать один GPU. В CUDA 13.5 MPS v3 предлагает расширенный контроль над тем, как рабочие нагрузки делят ресурсы GPU, от планирования отдельных серверов до назначения ресурсов группам клиентов.
Взвешенное время_slice (Weighted Timeslicing)
Функция взвешенного time_slice позволяет предоставлять более длительные вычислительные циклы серверам, работающим с рабочими нагрузками, которым это необходимо. Вы можете установить базовый time_slice, масштабировать его для каждого MPS-сервера и независимо настраивать, насколько агрессивно GPU переключается между рабочими нагрузками. Это особенно полезно в средах, где некоторые задачи требуют непрерывной вычислительной мощности, а другие могут работать с перерывами.
Балансировка нагрузки partitions SM
Балансировка нагрузки partitions SM позволяет рабочим нагрузкам использовать емкость за пределами их базовой partition, когда ресурсы доступны. Включите заимствование с помощью --max-chunks и разрешите partition отдавать свои SM, пока у нее нет прикрепленных клиентов, с помощью --shareable=true. Эти настройки независимы, поэтому partition может заимствовать, отдавать или делать и то, и другое. MPS возвращает заимствованные ресурсы перед их переназначением, в то время как приложения продолжают видеть стабильный размер базовой partition.
Маршр
Источник: NVIDIA Developer ↗