Открыть сервис

Архитектура Volta

Архитектура Volta — это микроархитектура графических процессоров (GPU), разработанная компанией Nvidia и представленная в 2017 году. Она пришла на смену архитектуре Pascal (2016) и стала предшественником архитектуры Turing (2018). Volta была спроектирована в первую очередь для высокопроизводительных вычислений (HPC), задач искусственного интеллекта (AI) и глубокого обучения, а не для потребительского рынка видеокарт. Ключевым нововведением стало появление тензорных ядер (Tensor Cores) — специализированных вычислительных блоков, оптимизированных для операций матричного умножения, лежащих в основе нейросетей.

История и контекст

Разработка архитектуры Volta велась в рамках стратегии Nvidia по усилению позиций в сегменте ускорителей для дата-центров и суперкомпьютеров. Первым продуктом на её основе стал ускоритель Nvidia Tesla V100, анонсированный в мае 2017 года на конференции GPU Technology Conference (GTC). Выпуск V100 был приурочен к растущему спросу на аппаратное обеспечение для обучения нейронных сетей, где традиционные GPU-архитектуры сталкивались с ограничениями производительности.

В отличие от предыдущих поколений, Volta не получила широкого распространения в потребительских видеокартах. Единственным продуктом для энтузиастов и профессионалов стала карта Nvidia Titan V (декабрь 2017 года) и её модификация Titan V CEO Edition (2018). Основной целевой аудиторией оставались исследовательские институты, облачные провайдеры и корпоративные клиенты. Архитектура была названа в честь итальянского физика Алессандро Вольты.

Ключевые особенности и нововведения

Тензорные ядра (Tensor Cores)

Главным отличием Volta от предшественников стало внедрение тензорных ядер. Это специализированные блоки внутри каждого мультипроцессора (SM), способные выполнять операцию умножения матриц размером 4×4 с накоплением (D = A × B + C) за один такт. В Tesla V100 было установлено 640 тензорных ядер (по 8 на каждый из 80 SM). Они поддерживали работу с данными в формате FP16 (половинная точность) с накоплением в FP32 или FP16. Это позволило ускорить обучение и инференс нейросетей в 5–12 раз по сравнению с Pascal при использовании смешанной точности.

Новая архитектура потокового мультипроцессора (SM)

Volta представила полностью переработанную структуру SM. Вместо двух независимых блоков, как в Pascal, новый SM (Volta GV100) состоял из четырёх подблоков (partition), каждый из которых содержал 16 ядер CUDA, 16 блоков загрузки/хранения, 8 блоков специальных функций (SFU), 1 тензорное ядро и 64 КБ регистров. Общее количество ядер CUDA в GV100 достигло 5120. Ключевым изменением стала замена планировщика warp-ов: вместо двух планировщиков на SM, как в Pascal, в Volta используется один планировщик, управляющий всеми 64 warp-ами (2048 нитей) на SM. Это упростило логику и повысило эффективность загрузки конвейера.

Независимая планировка потоков (Independent Thread Scheduling)

В предыдущих архитектурах Nvidia (вплоть до Pascal) все нити внутри одного warp-а выполняли одну и ту же инструкцию (SIMT-модель). Если нити расходились (например, из-за условного оператора), часть из них простаивала. Volta внедрила механизм независимой планировки потоков, позволяющий каждому потоку внутри warp-а иметь собственный счётчик команд. Это дало возможность эффективно обрабатывать сложные ветвления и уменьшило потери производительности в задачах с нерегулярным доступом к памяти, таких как обработка графов или разреженных матриц.

Улучшенная подсистема памяти

Tesla V100 оснащалась 16 ГБ (в некоторых версиях 32 ГБ) памяти HBM2 (High Bandwidth Memory 2) с пропускной способностью до 900 ГБ/с. Впервые в GPU Nvidia была реализована когерентность кэш-памяти L2 между всеми SM. Кэш L2 объёмом 6144 КБ был разделён на 32 банка, каждый из которых обслуживал свой сегмент памяти. Кроме того, Volta ввела поддержку двухуровневого кэширования для тензорных ядер, что снижало задержки при доступе к данным.

Поддержка NVLink 2.0

Volta стала первой архитектурой, использующей NVLink второго поколения. Это высокоскоростной интерфейс для соединения GPU друг с другом или с CPU. NVLink 2.0 обеспечивал пропускную способность до 300 ГБ/с на каждое направление (вдвое больше, чем NVLink 1.0 в Pascal). В конфигурациях Tesla V100 можно было объединять до 8 GPU в единое адресное пространство, что критически важно для обучения больших нейросетей, не помещающихся в память одного ускорителя.

Продукты на архитектуре Volta

Nvidia Tesla V100

Основной продукт серии. Выпускался в нескольких форм-факторах:

  • SXM2: модуль для серверов с прямым подключением через NVLink. Потребление до 300 Вт.
  • PCIe: стандартная карта расширения. Потребление до 250 Вт.
  • V100s: энергоэффективная версия (200 Вт) с пассивным охлаждением.

Технические характеристики GV100:

Nvidia Titan V

Потребительская версия, ориентированная на энтузиастов и разработчиков. Отличалась от V100 меньшим объёмом памяти (12 ГБ HBM2) и отсутствием поддержки NVLink. Потребление составляло 250 Вт. Titan V поддерживала все функции Volta, включая тензорные ядра, что делало её популярной для локального машинного обучения.

Nvidia Titan V CEO Edition

Специальная версия Titan V, выпущенная ограниченной серией в 2018 году. Отличалась увеличенным объёмом памяти (32 ГБ HBM2) и поддержкой NVLink. Предназначалась для руководителей и ключевых клиентов Nvidia.

Применение

Высокопроизводительные вычисления (HPC)

Volta активно использовалась в суперкомпьютерах. Например, американский суперкомпьютер Summit (ORNL) был построен на 27 648 GPU Tesla V100. Он занимал первое место в рейтинге TOP500 в 2018–2020 годах. Архитектура обеспечивала производительность до 7,8 петафлопс (FP64) на одном V100.

Глубокое обучение

Тензорные ядра Volta стали стандартом для обучения нейросетей. Благодаря поддержке смешанной точности (FP16 + FP32) время обучения моделей (например, ResNet-50, BERT) сократилось в 3–5 раз по сравнению с Pascal. Библиотеки cuDNN и TensorRT были оптимизированы под Volta.

Научные исследования

Volta применялась в задачах молекулярной динамики (GROMACS, NAMD), климатического моделирования, обработки геномных данных и астрофизики. Независимая планировка потоков позволила эффективно обрабатывать нерегулярные структуры данных.

Критика и ограничения

Несмотря на прорыв в производительности AI, архитектура Volta имела недостатки:

  • Высокое энергопотребление: Tesla V100 SXM2 потребляла до 300 Вт, что требовало мощных систем охлаждения.
  • Ограниченная поддержка потребительского рынка: Отсутствие доступных игровых видеокарт на Volta вызвало недовольство части энтузиастов, ожидавших преемника GeForce GTX 1080 Ti.
  • Сложность программирования: Для эффективного использования тензорных ядер требовалась адаптация кода под смешанную точность, что было нетривиально для непрофильных разработчиков.
  • Устаревание формата FP16: С развитием моделей на FP8 (архитектура Hopper) тензорные ядра Volta стали менее эффективны для новых алгоритмов.

Наследие

Архитектура Volta заложила основы для последующих поколений Nvidia. Тензорные ядра стали обязательным элементом всех последующих архитектур (Turing, Ampere, Hopper). Механизм независимой планировки потоков был усовершенствован в Turing и Ampere. Volta также продемонстрировала, что GPU могут быть не только графическими ускорителями, но и специализированными вычислителями для AI, что определило стратегию Nvidia на следующее десятилетие. На момент 2024 года Tesla V100 всё ещё используется в некоторых дата-центрах, хотя уступает по производительности более новым решениям.

Источники

  • Nvidia. «NVIDIA Tesla V100 GPU Architecture». Whitepaper, 2017.
  • Nvidia. «NVIDIA Titan V Product Brief», 2017.
  • Top500.org. «Summit — Oak Ridge National Laboratory», 2018.
  • Mark Harris. «Inside Pascal: NVIDIA’s Next-Generation GPU Architecture». Nvidia Developer Blog, 2016.
  • David Kanter. «NVIDIA’s Volta GV100 GPU». Real World Tech, 2017.
  • AnandTech. «The NVIDIA Titan V Review: A Deep Dive into Volta», 2017.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →