Тест и обзор: NVIDIA Titan V – приложения для рабочих станций и вычисления

Опубликовано:

С представлением видеокарты Titan V на основе GPU GV100 и архитектуры Volta, линейка NVIDIA Titan сделала шаг в сторону профессиональных сценариев, на время позабыв об игровом сегменте. Что видно не только по цене, но и по результатам наших игровых тестов – архитектура Volta не ориентирована на игры, поскольку многие функции чипа игровыми движками просто не используются. Теперь настало время оценить возможности Titan V в классических приложениях для рабочих станцией, в сценариях машинного и глубокого обучения.

Подобный поворот с линейкой NVIDIA Titan вряд ли удивляет. Линейка все больше заходила на профессиональный сегмент – не только из-за высокой цены более 1.000 евро, но и по причине соответствующих библиотек CUDA, которые позволяют задействовать аппаратные возможности чипа. NVIDIA решила предложить разработчикам и специалистам решение начального уровня, а когда им потребуется более мощное "железо", NVIDIA сможет предложить им более мощные варианты. Все же если разработчики начали создавать свои проекты на основе аппаратного обеспечения NVIDIA, то и в будущем, скорее всего, они продолжат его придерживаться. В целом, движущей силой архитектуры Volta является огромный прирост производительности в сценариях глубокого обучения.

В рамках данной статьи мы проведем сравнение с другими видеокартами для рабочих станций, результаты тестов которых мы получили несколько недель назад. В обзоре видеокарт AMD и NVIDIA для рабочих станций мы протестировали Radeon WX 4100,5100 и 7100, а также NVIDIA Quadro P2000, P6000 и GP100.

Но перед тем, как мы перейдем к результатам тестов, позвольте напомнить технические спецификации NVIDIA Titan V.

Обзор технических спецификаций NVIDIA Titan V
Модель: NVIDIA Titan V
Цена: 3.100 евро
Сайт производителя: NVIDIA
Техническая информация
GPU: GV100
Техпроцесс: 12 нм
Число транзисторов: 21,1 млрд.
Тактовая частота GPU (базовая): 1.200 МГц
Тактовая частота GPU (Boost) 1.455 МГц
Частота памяти 1.850 МГц
Тип памяти HBM2
Объём памяти 12 GB
Ширина шины памяти 3.072 бит
Пропускная способность памяти 652,8 Гбайт/с
Версия DirectX: 12
Потоковые процессоры: 5.120
Текстурные блоки: 320
Конвейеры растровых операций (ROP): 96
Типичное энергопотребление: 250 Вт
SLI/CrossFire -

NVIDIA Titan V опирается на GPU GV100 с архитектурой Volta. Ее NVIDIA официально представила весной. До сих пор чип существует только в одной версии с 5.120 потоковыми процессорами – он используется на всех видеокартах и вычислительных ускорителях. Отметим 320 текстурных блоков и 640 ядер Tensor, которые выполняют вычисления INT8. Для процесса тренировки сетей глубокого обучения наиболее важны операции матричного умножения (BLAS GEMM), именно на них ориентированы ядра Tensor. У ядер Tensor в SM имеются собственные пути передачи данных, их также можно полностью выключать с помощью стробирования частоты, если ядра не требуются. Каждое ядро Tensor может обрабатывать матрицу 4 x 4 x 4 в виде D = A x B + C. Входные матрицы A и B относятся к типу FP16, для сложения может использоваться матрица FP16 или FP32. Каждое ядро Tensor выполняет 64 операции FMA со смешанной точностью за такт – каждая такая операция может содержать умножение и сложение. В итоге восемь ядер Tensor на SM обеспечивают производительность 1.024 операций с плавающей запятой за такт.

GPU работает на базовой частоте 1.200 МГц, благодаря технологии GPU Boost частота может увеличиваться до 1.455 МГц и выше. Но если задействовать ядра Tensor, что в нашем случае происходило в тестах глубокого обучения, частота GPU не поднималась выше 1.335 МГц. Ограничивающим фактором, похоже, был 250-Вт тепловой пакет. Система охлаждения под стрессовой нагрузкой тоже ограничивает производительность, в результате частоты GPU находились в диапазоне от 1.200 до 1.400 МГц.

Отличительной особенностью Titan V стала подсистема памяти, вместо привычных 16 Гбайт HBM2 с 4.096-битной шиной NVIDIA установила 12 Гбайт с 3.072-битным интерфейсом. С частотой памяти 850 МГц мы получаем пропускную способность 652,8 Гбайт/с. Конечно, разница между 12 и 16 Гбайт HBM2 весьма существенна. Но мы пока не нашли приложение, которое бы ограничивалось 12 Гбайт. Конечно, монтаж видео 8K возможен только на видеокартах Quadro P6000 с 24 Гбайт GDDR5X. Но A Titan V для данного сценария вряд ли можно рекомендовать. Карта все же нацелена на приложения, чувствительные к высокой пропускной способности памяти.


Мы использовали драйверы NVIDIA Quadro R384 U4, GeForce 388.59 и AMD Radeon Pro Software 17.Q4.1. Мы установили соответствующие программные пакеты, в том числе Radeon ProRenderer для тестов рендеринга, чтобы полностью раскрыть потенциал видеокарт. То же самое касается и программных пакетов NVIDIA.

Luxmark 3.0

Первый тест - Luxmark 3.0, с помощью которого мы оценивали производительность OpenCL. Мы протестировали три пресета, результат выражен в семплах в секунду.

Luxmark 3.0

Hotel Lobby

семплы/с
Больше - лучше

Luxmark 3.0

Neuman

семплы/с
Больше - лучше

Luxmark 3.0

LuxBall

семплы/с
Больше - лучше

Blender

Второй тест - Blender. Мы использовали популярный бенчмарк Blender, а именно 3D-сцену, предложенную разработчиком. Чтобы Blender использовал для рендеринга GPU, необходимо выбрать в настройках соответствующий пункт. Там же следует выбрать GPU и для вычислений. Кроме того, мы увеличили размер Batch, то есть тайла на поток, с 16 до 256 пикселей. Все это позволит лучше нагружать GPU с несколькими сотнями или даже тысячами потоковых процессоров. Результат выводится в виде времени рендеринга сцены в секундах.

Blender

тест Blender

время в секундах
Меньше - лучше

Adobe After Effects

Мы использовали Adobe After Effects для рендеринга заставки 4K с альфа-каналом. Как правило, мы готовим подобную заставку к каждой выставке, после чего используем ее для дальнейших роликов. И шести видеокартам для рабочих станций предстояло выполнить рендеринг заставки. Результат оценивался в виде времени, которое ушло на рендеринг.

Adobe After Effects

Рендеринг 4K заставки

время в секундах
Меньше - лучше

V-Ray Benchmark

Продолжим с тестом V-Ray Benchmark. Он представляет собой синтетический бенчмарк Chaosgroup, создателя плагина V-Ray для различных пакетов 3D-рендеринга. Здесь мы вновь оценивали время рендеринга сцены.

V-Ray

Тест V-Ray

время в секундах
Меньше - лучше

Unreal Engine Infiltrator Rendering

Еще один интересный бенчмарк – рендеринг демо Infiltrator на Unreal Engine 4, которое NVIDIA часто использует на своих презентациях. До сих пор рендеринг в реальном времени не представляется возможным. Чтобы собрать все данные и 3D-модели для рендеринга демо в Unreal Engine Editor требуется приличная вычислительная производительность. Мы оценили время выполнения рендеринга.

Unreal Engine

Infiltrator Rendering

время в секундах
Меньше - лучше

GPUPI

GPUPI опирается на интерфейс OpenCL для вычисления числа Пи с помощью формулы Бэйли — Боруэйна — Плаффа. Вычисления разделяются на отдельные части, результат выдается в шестнадцатеричном формате. Каждая часть содержит определенную порцию вычислений по формуле BPP (Бэйли — Боруэйна — Плаффа). Таким образом, вычисления можно разбить по сотням или даже тысячам потоковых процессоров GPU. Производительность вычислений очень сильно зависит от скорости расчетов FP64 на GPU.

GPUPI

1B

время в секундах
Меньше - лучше

GPUPI

1B

время в секундах
Меньше - лучше


Анализ изображений

В нашем последнем сравнительном тестировании мы оценили производительность тренировки небольшой сети глубокого обучения. Но сразу же отметим, что задачу тренировки вряд ли можно назвать целевой для видеокарт, ориентированных на рабочие станции (что касается и моделей Quadro от NVIDIA, и AMD Radeon Pro). Здесь AMD предлагает ускорители Radeon Instinct, а NVIDIA – карты Tesla. Но Titan V как раз может стать промежуточным решением – по сравнению с профессиональными ускорителями видеокарта стоит более доступно.

Мы использовали библиотеку семплов для тренировки, а именно фото библиотеку TensorFlow. Тесты проводились под Ubuntu 14.04 вместе с соответствующими интерфейсами глубокого обучения для AMD и NVIDIA. Библиотека семплов содержит порядка 40.000 фотографий (200 Гбайт). Во время обработки фотографий каждый снимок разделяется на плитки 32 x 32 пикселя, при этом обрабатывается метаинформация, связанная с отображаемыми объектами. К последним относятся самолеты, машины, кошки, лица, корабли и т.д.

Из-за небольшого размера библиотеки семплов мы не стали фиксировать общее время выполнения задачи, а представили результат в кадрах в секунду. Его можно использовать и для оценки обработки значительных массивов данных.

Deep Learning / Machine Learning

Распознавание изображений по базе в 200 Гбайт

Кадры в секунду
Больше - лучше

Natural Language Processing

Во втором тесте обрабатываются запросы в сеть глубокого обучения (inferencing), что знакомо пользователям смартфонов по тем же голосовым помощникам, распознающим речь (Natural Language Processing). Та же Apple использует под iOS машинное обучение, чтобы автоматически дополнять предложения или фразы. Система тренируется, анализируя текст, набираемый пользователем. И предлагает свои решения на основе предыдущего опыта. Оцениваются вероятности появления слов и фраз. В конце концов система становится способной дополнять предложения, начатые пользователем – предлагая ему актуальные варианты.

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

Deep Learning / Machine Learning

Natural Language Processing

задержка в мс
Меньше - лучше

Neural Machine Translation

Третья сфера – машинный перевод (Neural Machine Translation). Сети глубокого обучения дают более точный перевод с меньшим числом ошибок. Несколько лет назад машинный перевод осуществлялся с помощью сетей Recurrent Neural Network (RNN). Перевод с одного языка был пословный, что давало низкое качество. Улучшения появились с переходом на алгоритмы перевода фраз PBMT (phrase-based machine translation). В данном случае текст разделяется на слова и фразы. При этом анализируется и содержимое (тема) текста, что позволяет улучшить качество перевода. Алгоритмы PBMT знаменовали серьезное улучшение, но далеко не всегда давали убедительные результаты. Впрочем, такой перевод помогал разобрать, о чем говорится в тексте.

Neural Machine Translation
Neural Machine Translation

За последние годы значительную популярность приобрела технология Neural Machine Translation (NMT). Вместо разделения текста на слова и фразы, сейчас анализируется сразу весь текст. Изначально алгоритмы NMT работают на уровне PBMT, но со временем улучшаются благодаря машинному обучению или сетям глубокого обучения. Подобная тренировка выполняется при получении любой информации от пользователей. Например, Google обрабатывает 18 млн. запросов одного только перевода с английского на китайский. Видеокарта должна обрабатывать как можно больше предложений одновременно. Мы использовали соответствующую сеть Google, которая отвечала на запросы пользователей.

Deep Learning / Machine Learning

Neural Machine Translation

предложений в секунду
Больше - лучше


Полученные результаты тестов позволяют взглянуть на видеокарту с разных ракурсов, а также выявить слабые и сильные стороны NVIDIA Titan V. Приложения OpenCL или CUDA, опирающиеся на вычисления FP32, выигрывают от числа потоковых процессоров. Но приложения, опирающиеся на блоки FP64 или Tensor Cores, выигрывают значительно больше. В первых сценариях мы получили следствие разного числа потоковых процессоров: 3.584 или 3.840 против 5.120 на Titan V. Конечно, прирост 30-40% можно только приветствовать. Но все же 3D-рендеринг нельзя назвать целевым сценарием для Titan V.

Иной ситуация выглядит приложениях, опирающихся на вычисления FP32 и FP64. Например, в тестах Luxmark и V-Ray видеокарта NVIDIA Titan V демонстрирует свои преимущества. То же самое касается GPUPI, где выполняются вычисления FP64. Сильной стороной NVIDIA Titan V можно назвать чистую арифметику, которая важна для сценариев симуляции и финансового анализа.

Однако "коньком" Titan V стали сценарии тренировки сетей глубокого обучения и обработки запросов в такие сети. Мы привели три разных теста, которые опираются на разные подходы и алгоритмы. Для анализа изображений и видео применяются сверточные сети (Convolutional Networks). Здесь Titan V показал производительность в 3,7 раза выше, чем Quadro P100. У последней, как и у Tesla P100, производительность в данных сценариях довольно высокая, но Titan V делает еще один существенный шаг вперед.

Сценарии Natural Language Processing и Neural Machine Translation опираются на рекуррентные нейронные сети (Recurrent network). По принципу работы они похожи на мозг человека. Между разными слоями имеются прямые связи, что позволяет использовать данную сеть для распознавания речи или рукописного текста, например. Мы провели два теста, в которых демонстрируются преимущества Titan V с 640 ядрами Tensor. Что касается задержек при обработке запросов в сеть глубокого обучения, то здесь положительно сказывается быстрая память High Bandwidth Memory. И GPU GP100 в полной мере задействует преимущества памяти. Если сравнивать производительность Titan V с старыми архитектурами GPU, особенно не оснащенными быстрой памятью, то разница составляет больше одного порядка, то есть Titan V более чем в десять раз быстрее. Здесь сказываются и задержки при обработке запросов в сеть, и вычислительная производительность. NVIDIA называет текущую реализацию Super Real Time, о чем как раз говорилось на последней GTC Europe в октябре.

Каким пользователям пригодится Titan V? Мы уже отвечали на данный вопрос после проведения первых игровых тестов: геймерам видеокарта вряд ли подойдет, учитывая цену 3.100 евро. Но если вам нужна самая высокая производительность за любые деньги, то видеокарту можно смело брать. Здесь можно привести аналогию с спортивным автомобилем: если вы приобрели модель, которая может разгоняться до 320 км/ч, то за автомобиль с максимальной скоростью 350 км/ч придется заплатить значительно больше. То есть за прирост 30 км/ч обойдется в непропорционально большую сумму.

Что касается сценариев рабочих станций, то здесь все несколько проще. Если приложения используют вычислительные блоки FP64 и Tensor Cores для сетей глубокого обучения, то NVIDIA Titan V дает достаточно аргументов в свою пользу. Если вы занимаетесь соответствующими вычислениями или исследованиями, то инвестиция в 3.100 евро кажется вполне разумной, тем более что за полноценные ускорители на GPU с такой же аппаратной базой придется заплатить в два-три раза больше. NVIDIA Titan V – модель NVIDIA "начального уровня" для профессионального рынка, из-за высокой цены целевая аудитория не такая большая. Геймеров Titan V вряд ли заинтересует, но своих покупателей видеокарта найдет.