Бенчмарки производительности для Jetson Nano, TX2, NX, AGX Xavier

Автор: Серженко Фёдор

Компания NVIDIA выпустила серию аппаратных модулей Jetson для встраиваемых приложений. NVIDIA ® Jetson-это ведущая в мире встраиваемая платформа для обработки изображений и задач DL/AI. Эта платформа позволяет делать высокопроизводительные вычисления при минимальном энергопотреблении для глубокого обучения и компьютерного зрения, что крайне востребовано для мобильных вычислительных проектов.

Мы разработали SDK для обработки изображений и видео для NVIDIA Jetson. Здесь мы представляем результаты тестов производительности для различных модулей. В качестве тестового конвейера обработки изображений мы рассмотрим стандартное приложение для обработки данных от камер машинного зрения.

бенчмарки Jetson Nano vs TX2 vs NX vs AGX

 

Аппаратные возможности модулей Jetson Nano, TX2, Xavier NX, AGX Xavier

В таблице представлены краткие описания аппаратных возможностей различных модулей Jetson. Сравнивая возможности систем от Nano и до AGX Xavier, хорошо видны не только разнообразие существующих мобильных решения, но и прогресс в этой области.

Hardware feature \ Jetson module Jetson Nano Jetson TX2/TX2i Jetson NX Xavier Jetson AGX Xavier
CPU (ARM) 4-core ARM A57 @ 1.43 GHz 4-core ARM Cortex-A57 @ 2 GHz, 2-core Denver2 @ 2 GHz 6-core ARM Carmel v8.2 8-core ARM Carmel v.8.2 @ 2.26 GHz
Возможности GPU 128-core Maxwell @ 921 MHz 256-core Pascal @ 1.3 GHz 384-core Volta 512-core Volta @ 1.37 GHz
Память 4 GB LPDDR4, 25.6 GB/s 8 GB 128-bit LPDDR4, 58.3 GB/s 8 GB 128-bit LPDDR4, 51.2GB/s 16 GB 256-bit LPDDR4, 137 GB/s
Система хранения данных MicroSD 32 GB eMMC 5.1 16 GB eMMC 5.1 32 GB eMMC 5.1
Тензорные ядра -- -- 48 64
Кодирование видео 1x 4K30 (H.265) 2x 1080p60 (H.265) 1x 4K60 (H.265) 3x 4K30 (H.265) 4x 1080p60 (H.265) 2x 4K30 (H.265) 6x 1080p60 (H.265) 4x 4K60 (H.265) 16x 1080p60 (H.265) 32x 1080p30 (H.265)
Декодирование видео 1x 4K60 (H.265) 4x 1080p60 (H.265) 2x 4K60 (H.265) 7x 1080p60 (H.265) 14x 1080p30 (H.265) 2x 4K60 (H.265) 12x 1080p60 (H.265) 16x 1080p30 (H.265) 2x 8K30 (H.265) 6x 4K60 (H.265) 26x 1080p60 (H.265) 72x 1080p30 (H.265)
USB (4x) USB 3.0 + Micro-USB 2.0 (1x) USB 3.0 + (1x) USB 2.0 (3x) USB 3.1 + (4x) USB 2.0 (3x) USB 3.1 + (4x) USB 2.0
Количество линий PCI-Express 4 lanes PCIe Gen 2 5 lanes PCIe Gen 2 1 x1 (PCIe Gen3)+ 1 x4 (PCIe Gen4) 16 lanes PCIe Gen 4
Энергопотребление 5W / 10W 7.5W / 15W 10W / 15W 10W / 15W / 30W

В приложениях для видео камер мы обычно можем скрыть передачу данных от хоста к устройству с помощью режима zero-copy или благодаря перекрытию копирований и вычислений на GPU. Передача данных от устройства к хосту может быть скрыта с помощью перекрытия копирований / вычислений.

Аппаратные и программные модули для тестирования

  • CPU/GPU NVIDIA Jetson Nano, TX2/TX2i, Xavier NX, AGX Xavier
  • OS L4T (Ubuntu 18.04)
  • CUDA Toolkit 10.2 for Jetson Nano, TX2/TX2i, Xavier NX, AGX Xavier
  • Fastvideo SDK 0.19.2

Сравнение модулей NVIDIA Jetson: Nano, TX2, Xavier NX, AGX Xavier

Для этих модулей NVIDIA Jetson мы провели измерения производительности для следующих стандартных задач обработки изображений, специфичных для приложений с промышленными видеокамерами: баланс белого, демозаика (дебайер), цветокоррекция, ресайз, кодирование JPEG и т.д. Это не полный набор имеющихся функций из Fastvideo SDK - это просто пример того, какую производительность можно получить для каждого Jetson. Кроме того, тестовое приложение gpu-camera-sample можно загрузить с GitHub, собрать и сделать измерения производительности для вашей схемы обработки данных.

fastvideo sdk jetson

Время обработки (kernel time) на GPU для кадров 2K (1920×1080, 8/16-бит), в миллисекундах

Алгоритм и параметры / Модель Jetson Jetson Nano Jetson TX2/TX2i Jetson Xavier NX Jetson AGX Xavier
Баланс белого 0.6 0.24 0.19 0.08
Дебайер HQLI 1.95 0.87 0.61 0.40
Дебайер DFPD 4.7 2.06 1.08 0.95
Дебайер MG 12.7 5.9 2.73 2.2
Цветокоррекция с матрицей 3×4 1.7 0.81 0.55 0.25
Ресайз 2K в 960×540 10.0 4.3 2.21 1.5
Ресайз 2K в 1919×1079 19.8 8.2 4.34 2.4
Гамма (1920×1080) 1.4 0.84 0.42 0.2
Кодирование JPEG (1920×1080, 90%, 4:2:0) 4.3 1.7 1.09 0.62
Кодирование JPEG (1920×1080, 90%, 4:4:4) 6.8 2.6 1.5 0.75
Итого (мс) 9.95 4.8 2.85 1.53

 

Общее время обработки вычисляется для значений из серых строк таблицы. Это сделано для того, чтобы показать как возможности SDK, так и максимальный результат для каждого модуля Jetson. Приведенная схема обработки является упрощённой, но, тем не менее, она используется в реальных приложениях с промышленными видеокамерами.

Здесь мы сделали оценку времени работы только базового набора модулей обработки изображений из Fastvideo SDK, чтобы разработчики решений на платформе Jetson могли понять, какую производительность обработки они могут получить в своих приложениях. Преобразование изображений из RAW в RGB или из RAW в JPEG - это стандартные задачи, которые возникают в разных областях. Теперь разработчики могут заранее получать подробную информацию об ожидаемой производительности для выбранного конвейера в соответствии с приведенной выше таблицей. В сравнение пока не вошли кодек JPEG2000 для сжатия изображений, а также кодеры и декодеры Jetson H.264 и H.265. Тут важно, что кодеры H.264 и H.265 работают на аппаратном уровне, т.е. кодирование можно будет выполнять параллельно с кодом на CUDA - это снизит нагрузку на видеокарту, а в некоторых случаях можно будет получить еще более высокую производительность.

Мы провели те же измерения времени ядра для графических процессоров NVIDIA GeForce и Quadro. Здесь можно скачать документ с результатами тестов.

Программное обеспечение для тестирования модулей Jetson

Для приложений с промышленными камерами мы разработали программное обеспечение для NVIDIA Jetson и оно доступно для загрузки c Github как в виде бинарных файлов, так в исходных кодах (пример gpu-camera-sample). Этот проект может работать на Windows 7/10, Linux Ubuntu 18.04 и L4T, т.е. не только с Jetson, но и с любыми другими видеокартами NVIDIA. Помимо реализации полного конвейера обработки изображений на графическом процессоре, реализованы опции онлайн-сжатия и потоковой передачи видео, измерения glass-to-glass (G2G) для оценки реальной задержки для камерных систем на Jetson. В настоящее время программное обеспечение работает с камерами машинного зрения XIMEA, Basler, JAI, Matrix Vision и Daheng Imaging.

Для тестирования этого программного обеспечения даже не обязательно иметь видеокамеру, т.к. в нём реализована возможность работы с RAW кадрами с диска, т.е. без участия камеры. Таким образом, можно измерить скорость обработки данных, а также оценить качество.

Чтобы проверить производительность Fastvideo SDK на графическом процессоре ноутбука/настольного компьютера/сервера без какого-либо программирования, также можно скачать программное обеспечение Fast CinemaDNG Processor с графическим интерфейсом для Windows или Linux. Это программное обеспечение имеет окно тестов производительности, и там вы можете увидеть измеренное время для каждого этапа обработки изображений. Этот метод тестирования производительности вообще не требует программирования от пользователя, а конвейер обработки изображений в этом случае может быть довольно сложным - таким образом можно проверить и скорость, и качество. Также можно проверсти различные тесты на изображениях с различным разрешением, чтобы увидеть, насколько производительность зависит от размера изображения, его содержимого и других параметров.

Другие статьи про Jetson

Форма для отправки запроса

Эта форма сохраняет имя и адрес электронной почты.