性能#

DeepStream 应用程序已针对各种 NVIDIA TAO 工具包和开源模型进行了基准测试。测量的性能表示整个视频分析应用程序的端到端性能,考虑了视频捕获和解码、预处理、批处理、推理和后处理以生成元数据。输出渲染已关闭以实现峰值推理性能。有关禁用输出渲染的信息,请参阅 DeepStream 参考应用程序 - deepstream-app 章节。

TAO 预训练模型#

TAO 工具包 具有下表列出的一组预训练模型。如果以下模型满足您的需求,您应该从其中一个开始。这些模型可用于智慧城市或智能场所中的各种应用。如果您的应用超出了这些模型的范围,您可以重新训练一个流行的模型架构,使用 TAO 工具包。下表显示了来自 TAO 工具包的高精度预训练模型的端到端性能。所有模型都可在 NGC 上获得。这些模型与 DeepStream 原生集成,运行这些模型的说明位于 /opt/nvidia/deepstream/deepstream/samples/configs/tao_pretrained_models/ 中。以下数字是通过 sample_1080p_h265.mp4 获得的。

性能 jetson- 预训练模型#

Jetson

AGX

Orin

Jetson

Orin

NX

Jetson

Orin

Nano

模型架构

推理分辨率

精度

跟踪器

GPU

(FPS)

DLA1 /DLA2 (FPS)

GPU

(FPS)

DLA1/ DLA2 (FPS)

GPU

(FPS)

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

无跟踪器

976

330

336

166

250

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

NvDCF 跟踪器

626

312

286

153

217

PeopleNet- ViT (deployable_v1.1)

960x544

INT8

无跟踪器

48

NA

17

NA

13

PeopleNet- ViT (deployable_v1.1)

960x544

INT8

NvDCF 跟踪器

43

NA

17

NA

13

YOLOv8

640x640

INT8

无跟踪器

750

NA

236

NA

182

YOLOv8

640x640

INT8

NvDCF 跟踪器

579

NA

211

NA

155

YOLOv9

640x640

FP16

无跟踪器

474

NA

164

NA

122

YOLOv9

640x640

FP16

NvDCF 跟踪器

396

NA

140

NA

104

上表中的所有模型都可以完全在 DLA 上运行。这节省了宝贵的 GPU 资源来运行更复杂的模型。

注意

  • DLA 不支持同时在多个模型上运行推理。您一次只能在 DLA 上运行一个模型。

  • NA:Jetson 不可用

  • NA*:对于这些模型,DLA 回退到 GPU

性能 dgpu- 预训练模型#

A100

PCIe

A30

A2

A10

模型架构

推理分辨率

精度

推理引擎

跟踪器

GPU (FPS)

GPU (FPS)

GPU (FPS)

GPU (FPS)

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

TRT

无跟踪器

4955

3127

551

2056

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

TRT

NvDCF 跟踪器

4272

2672

515

1901

PeopleNet- ViT (deployable_v1.1)

960x544

INT8

TRT

无跟踪器

347

167

18

148

PeopleNet- ViT (deployable_v1.1 )

960x544

INT8

TRT

NvDCF 跟踪器

308

165

18

180

YOLOv8s

640x640

INT8

TRT

无跟踪器

2593

1879

486

1465

YOLOv8s

640x640

INT8

TRT

NvDCF 跟踪器

2455

1803

418

1334

YOLOv9t

640x640

FP16

TRT

无跟踪器

2396

1638

339

1262

YOLOv9t

640x640

FP16

TRT

NvDCF 跟踪器

2215

1476

326

1121

性能 dgpu- 预训练模型#

H100

L40

L4

Quadro (A6000)

A4000

L4000

模型架构

推理分辨率

精度

推理引擎

跟踪器

GPU (FPS)

GPU (FPS)

GPU (FPS)

GPU (FPS)

GPU (FPS)

GPU (FPS)

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

TRT

无跟踪器

6831

4571

1580

2834

1308

1361

PeopleNet- ResNet34 (v2.3.4)

960x544

INT8

TRT

NvDCF 跟踪器

5842

3818

1370

1459

1268

1183

PeopleNet- ViT (deployable_v1.1)

960x544

INT8

TRT

无跟踪器

495

362

119

227

106

102

PeopleNet- ViT (deployable_v1.1)

960x544

INT8

TRT

NvDCF 跟踪器

461

349

116

209

107

73

YOLOv8s

640x640

INT8

TRT

无跟踪器

2993

2213

1123

1845

1175

957

YOLOv8s

640x640

INT8

TRT

NvDCF 跟踪器

2826

2248

984

607

1027

844

YOLOv9t

640x640

FP16

TRT

无跟踪器

2688

2260

1019

1660

939

865

YOLOv9t

640x640

FP16

TRT

NvDCF 跟踪器

2541

1931

893

1587

852

764

注意

  • NA:不可用

  • TBU:待更新

DeepStream 参考模型和跟踪器#

DeepStream SDK 附带一个参考 DetectNet_v2-ResNet10 模型和三个 ResNet18 分类器模型。下一节提供了使用 DeepStream 运行这些模型的详细说明。DeepStream 提供了四个参考跟踪器:IOUNvSORTNvDeepSORTNvDCF。有关跟踪器的更多信息,请参阅 Gst-nvtracker 章节。

性能测量配置文件设置#

为了获得峰值性能,请确保设备得到适当冷却。对于 Turing 和 Ampere GPU,请确保您使用的服务器满足散热和气流要求。除了硬件设置外,还需要在配置文件中设置一些其他选项才能实现发布的性能。对 DeepStream SDK 中的一个配置文件进行必要的更改,以复制峰值性能。

关闭输出渲染、OSD 和 Tiler

OSD(屏幕显示)用于在屏幕上显示边界框、掩码和标签。如果禁用输出渲染,则不需要创建边界框,除非需要通过 RTSP 流式传输输出或保存到磁盘。Tiler 用于在 NxM 平铺网格中显示输出。如果禁用渲染,则不需要它。输出渲染、OSD 和 Tiler 使用一定百分比的计算资源,因此可能会降低推理性能。

要禁用 OSD、平铺显示和输出接收器,请在 DeepStream 配置文件中进行以下更改。

  • 要禁用 OSD,请将 enable 更改为 0

    [osd]
    enable=0
    
  • 要禁用平铺,请将 enable 更改为 0

    [tiled-display]
    enable=0
    
  • 要关闭输出渲染,请将接收器更改为 fakesink。

    [sink0]
    enable=1
    #Type - 1=FakeSink 2=EglSink 3=File
    type=1
    sync=0
    

为跟踪器使用 max_perf 设置

DeepStream SDK 6.2 引入了一个新的参考低级跟踪器库 NvMultiObjectTracker,以及一组配置文件

  • config_tracker_IOU.yml

  • config_tracker_NvDCF_max_perf.yml

  • config_tracker_NvDCF_perf.yml

  • config_tracker_NvDCF_accuracy.yml

为了在使用 NvDCF 跟踪器时获得上表所示的峰值性能,请确保 max_perf 配置与视频帧分辨率匹配推理模块的分辨率。例如,如果推理模块使用 480x272 分辨率,则建议为跟踪器模块使用降低的分辨率(例如,480x288),如下所示

[tracker]
enable=1
tracker-width=480
tracker-height=288
ll-lib-file=/opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
#ll-config-file=/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_tracker_IOU.yml
ll-config-file=/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_tracker_NvDCF_max_perf.yml
gpu-id=0
enable-batch-process=1
display-tracking-id=1

当使用 IOU 跟踪器时,视频帧分辨率无关紧要,可以使用默认的 config_tracker_IOU.yml

要在 Jetson AGX Orin 和 Orin NX 上使用 DLA 进行性能测量,请参阅快速入门指南中的 使用 DLA 进行推理 部分。

CudaDeviceScheduleBlockingSync 标志在 dGPU 上默认设置

  • 仅在 dGPU 上,cudaDeviceScheduleBlockingSync 标志在运行 Deepstream 管道的 GPU 上默认设置。通常,对于具有多个流的管道,这有助于减少 CPU 利用率,而不会对性能产生太大影响。

  • 当跟踪器中启用子批次时,设置 cudaDeviceScheduleBlockingSync 标志可显著降低 CPU 利用率,而性能下降幅度相似或可忽略不计。

  • 当环境变量 NVDS_DISABLE_CUDADEV_BLOCKINGSYNC 设置为 1 时,cudaDeviceScheduleBlockingSync 标志不会默认设置。

  • 在远程情况下,当管道已经以接近 100% 的 GPU 利用率运行时,设置 cudaDeviceScheduleBlockingSync 标志可能会对管道性能产生负面影响。因此,当用户遇到 Deepstream 管道受 GPU 限制且 GPU 利用率未达到接近 100% 的情况时,用户可以尝试将 NVDS_DISABLE_CUDADEV_BLOCKINGSYNC 设置为 1,并检查这是否有助于提高管道的性能。

DeepStream 参考模型#

数据中心 GPU - GA100#

本节介绍了 NVIDIA 数据中心 GPU - GA100 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

GA100 系统配置#

系统配置

规格

CPU

AMD EPYC 7742 @ 2.25GHz 3.4GHz Turbo (Rome) HT 关闭

GPU

A100-PCIE-40GB(GA100) 1*40537 MiB 1*108 SM

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

GPU 时钟频率

1410 MHz

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

GA100 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=180
sample_1080p_h264.mp4(SDK 提供)N=93

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

180

11%

74.17%

H.264

93

2.57%

41.63%

数据中心 GPU - T4#

本节介绍了 NVIDIA 数据中心 GPU - T4 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

T4 系统配置#

系统配置

规格

CPU

双 Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz(总共 48 个线程)

GPU

Tesla T4*

系统内存

360448Mb (22x16384) DDR42666, 2400MHz

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

GPU 时钟频率

1513 MHz

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

T4 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=45
sample_1080p_h264.mp4(SDK 提供)N=31

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

45

51.81%

100%

H.264

31

2.72%

61.23%

数据中心 GPU - A30#

本节介绍了 NVIDIA 数据中心 GPU - A30 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

A30 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

A30

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

GPU 时钟频率

1440 MHz

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

A30 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=150
sample_1080p_h264.mp4(SDK 提供)N=98

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

150

41.87%

96.9%

H.264

98

5.62%

61.33%

数据中心 GPU - A2#

本节介绍了 NVIDIA 数据中心 GPU - A2 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

A2 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

A2

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

GPU 时钟频率

1770 MHz

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

A2 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=31
sample_1080p_h264.mp4(SDK 提供)N=31

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

31

21.91%

100%

H.264

31

21.99%

100%

数据中心 GPU - A10#

本节介绍了 NVIDIA 数据中心 GPU - A10 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

A10 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

A10

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

GPU 时钟频率

1695 MHz

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

A10 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=79
sample_1080p_h264.mp4(SDK 提供)N=43

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

79

3.26%

65.59%

H.264

43

1.4%

31.18%

数据中心 GPU - H100#

本节介绍了 NVIDIA 数据中心 GPU - H100 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

H100 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

H100

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

H100 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=229
sample_1080p_h264.mp4(SDK 提供)N=148

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

229

2.76%

90.1%

H.264

148

2.6%

42.32%

数据中心 GPU - L40#

本节介绍了 NVIDIA 数据中心 GPU - L40 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

L40 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

L40

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

L40 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=166
sample_1080p_h264.mp4(SDK 提供)N=75

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

166

12.65%

71.63%

H.264

75

1.89%

34.57%

数据中心 GPU - L4#

本节介绍了 NVIDIA 数据中心 GPU - L4 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

L4 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

L4

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

L4 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=81
sample_1080p_h264.mp4(SDK 提供)N=68

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

81

46.1%

100%

H.264

68

8.06%

75.74%

数据中心 GPU - Quadro (A6000)#

本节介绍了 NVIDIA 数据中心 GPU - Quadro (A6000) 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

Quadro (A6000) 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

Quadro (A6000)

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

Quadro (A6000) 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=101
sample_1080p_h264.mp4(SDK 提供)N=49

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

101

7.05%

60.17%

H.264

49

2.68%

28.57%

数据中心 GPU - A4000#

本节介绍了 NVIDIA 数据中心 GPU - A4000 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

A4000 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

L4

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

A4000 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=49
sample_1080p_h264.mp4(SDK 提供)N=24

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

49

0.97%

49.87%

H.264

24

0.48%

24.56%

数据中心 GPU - L4000#

本节介绍了 NVIDIA 数据中心 GPU - L4000 上 DeepStream SDK 的配置和设置。

系统配置#

DeepStream SDK 的系统配置如下所示

L4000 系统配置#

系统配置

规格

CPU

AMD EPYC 7763 @2430 MHz

GPU

L4

Ubuntu

Ubuntu 22.04

GPU 驱动程序

535.161.08

CUDA

12.2

TensorRT

8.6.1.6

应用程序配置#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IoU 跟踪器。

DeepStream SDK 的应用程序配置如下所示

L4000 应用程序配置#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=76
sample_1080p_h264.mp4(SDK 提供)N=45

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔=0

跟踪器

已启用。以 960x544 分辨率处理,IOU 跟踪器已启用。

2 个辅助 GIE

所有批次大小为 32。异步模式已启用。
  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

平铺显示

已禁用

渲染

已禁用

实现的性能 下表显示了在指定的系统和应用程序配置下 DeepStream SDK 的实现性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

76

20%

99.25%

H.264

45

0.96%

53.02%

Jetson#

本节介绍了 NVIDIA Jetson™ 平台上的 DeepStream SDK 的配置和设置。JetPack 6.0 GA 用于软件安装。

系统配置#

对于性能测试

  1. 最大功率模式已启用:$ sudo nvpmodel -m 0

  2. GPU 时钟已步进至最大值:$ sudo jetson_clocks

有关支持的电源模式的信息,请参阅 NVIDIA Tegra Linux 驱动程序包开发指南 的电源管理主题中的“支持的模式和电源效率”部分,例如“Jetson AGX Orin 设备的电源管理”。

Jetson AGX Orin#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IOU 跟踪器。

下表描述了 NVIDIA Jetson Orin™ 的性能结果。

Jetson AGX Orin 管道配置 (deepstream-app)#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=37
sample_1080p_h264.mp4(SDK 提供)N=15

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔 = 0

跟踪器

已启用;以 960x544 分辨率处理,IOU 跟踪器已启用。

2× 辅助 GIE

所有批次大小均为 32。异步模式已启用。

  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

OSD/平铺显示

已禁用

渲染器

已禁用

实现的性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

37

21.25%

82.30%

H.264

15

9.49%

36.42%

Jetson Orin NX#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IOU 跟踪器。

下表描述了 NVIDIA Jetson Orin NX™ 的性能结果。

Jetson Orin NX 管道配置 (deepstream-app)#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=16
sample_1080p_h264.mp4(SDK 提供)N=13

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔 = 0

跟踪器

已启用;以 960x544 分辨率处理,IOU 跟踪器已启用。

2× 辅助 GIE

所有批次大小均为 32。异步模式已启用。

  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

OSD/平铺显示

已禁用

渲染器

已禁用

实现的性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

16

19.26%

99%

H.264

13

15.22%

78.52%

Jetson Orin Nano#

配置文件source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

更改配置文件中的以下项目

  • 更改 streammuxprimary-gie 下的批次大小以匹配流的数量。

  • 使用上述说明禁用平铺显示和渲染。

  • 启用 IOU 跟踪器。

下表描述了 NVIDIA Jetson Orin Nano™ 的性能结果。

Jetson Orin Nano 管道配置 (deepstream-app)#

应用程序配置

规格

N×1080p 30 fps 流

sample_1080p_h265.mp4(SDK 提供)N=13
sample_1080p_h264.mp4(SDK 提供)N=8

主 GIE

  • resnet18_trafficcamnet_pruned.onnx

  • 批次大小 = N

  • 间隔 = 0

跟踪器

已启用;以 960x544 分辨率处理,IOU 跟踪器已启用。

2× 辅助 GIE

所有批次大小均为 32。异步模式已启用。

  • Secondary_VehicleTypes (224×224—Resnet18)

  • Secondary_VehicleMake (224×224—Resnet18)

OSD/平铺显示

已禁用

渲染器

已禁用

实现的性能

流类型

30 FPS 的流数量

CPU 利用率

GPU 利用率

H.265

13

20.65%

99%

H.264

8

12.49%

60.15%