NVIDIA / TensorRT

NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference on NVIDIA GPUs. This repository contains the open source components of TensorRT.
https://developer.nvidia.com/tensorrt
Apache License 2.0
10.82k stars 2.13k forks source link

The mnist sample test give incorrect output #2306

Open yuanjiechen opened 2 years ago

yuanjiechen commented 2 years ago

Description

I install the cuda and cudnn with local deb package following the nvidia document, and install tensorrt with tar file. nvidia-smi, nvcc -V, and cudnn test sample is work correctly, but the tensorrt sample test is fail. It cause the torch_tensorrt (build from source) convertes the wrong model (I think it's the same bug).

Here is my test output: ./sample_mnist_debug &&&& RUNNING TensorRT.sample_mnist [TensorRT v8403] # ./sample_mnist_debug [09/07/2022-16:22:18] [I] Building and running a GPU inference engine for MNIST [09/07/2022-16:22:21] [I] [TRT] [MemUsageChange] Init CUDA: CPU +312, GPU +0, now: CPU 319, GPU 1201 (MiB) [09/07/2022-16:22:27] [I] [TRT] [MemUsageChange] Init builder kernel library: CPU +59, GPU +0, now: CPU 397, GPU 1201 (MiB) [09/07/2022-16:22:27] [W] [TRT] The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible. [09/07/2022-16:22:29] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +514, GPU +224, now: CPU 913, GPU 1425 (MiB) [09/07/2022-16:22:29] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +117, GPU +52, now: CPU 1030, GPU 1477 (MiB) [09/07/2022-16:22:29] [I] [TRT] Local timing cache in use. Profiling results in this builder pass will not be stored. [09/07/2022-16:22:47] [I] [TRT] Detected 1 inputs and 1 output network tensors. [09/07/2022-16:22:47] [I] [TRT] Total Host Persistent Memory: 13152 [09/07/2022-16:22:47] [I] [TRT] Total Device Persistent Memory: 0 [09/07/2022-16:22:47] [I] [TRT] Total Scratch Memory: 0 [09/07/2022-16:22:47] [I] [TRT] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 0 MiB, GPU 0 MiB [09/07/2022-16:22:47] [I] [TRT] [BlockAssignment] Algorithm ShiftNTopDown took 0.025143ms to assign 3 blocks to 8 nodes requiring 57860 bytes. [09/07/2022-16:22:47] [I] [TRT] Total Activation Memory: 57860 [09/07/2022-16:22:47] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in building engine: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB) [09/07/2022-16:22:47] [I] [TRT] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 1539, GPU 1673 (MiB) [09/07/2022-16:22:47] [I] [TRT] Loaded engine size: 2 MiB [09/07/2022-16:22:47] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB) [09/07/2022-16:22:47] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB) [09/07/2022-16:22:47] [I] Input: @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@%=#@@@@@%=%@@@@@@@@@@ @@@@@@@ %@@@@@@@@@ @@@@@@@ %@@@@@@@@@ @@@@@@@#:-#-. %@@@@@@@@@ @@@@@@@@@@@@# #@@@@@@@@@@ @@@@@@@@@@@@@ #@@@@@@@@@@ @@@@@@@@@@@@@: :@@@@@@@@@@@ @@@@@@@@@%+== %%%%%%%%%@@ @@@@@@@@% -@ @@@@@@@@@#+. .:-%@@ @@@@@@@@@@@ :-###@@@@@@ @@@@@@@@@@@ -%@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@ #@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@* @@@@@@@@@@@@@ @@@@@@@@@@@@+=#@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@

[09/07/2022-16:22:47] [I] Output: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9:

&&&& FAILED TensorRT.sample_mnist [TensorRT v8403] # ./sample_mnist_debug

No errors when install and compile. Thanks !

Environment

TensorRT Version: 8.4.3.1 NVIDIA GPU: RTX2080 NVIDIA Driver Version: 516.94 CUDA Version: 11.6.2 CUDNN Version: 8.4.1 Operating System: Windows10 21H2 WSL2 Python Version (if applicable): 3.9.12 Tensorflow Version (if applicable): PyTorch Version (if applicable): 1.12.1+cu116 Baremetal or Container (if so, version):

Relevant Files

Steps To Reproduce

zerollzeng commented 2 years ago

I can't reproduce it in Linux. @pranavm-nvidia I know nothing about windows TRT, can you help here ^ ^

TensorRT-8.4.3.1/samples/sampleMNIST$ ../../bin/sample_mnist_debug
&&&& RUNNING TensorRT.sample_mnist [TensorRT v8403] # ../../bin/sample_mnist_debug
[09/07/2022-08:43:15] [I] Building and running a GPU inference engine for MNIST
[09/07/2022-08:43:15] [I] [TRT] [MemUsageChange] Init CUDA: CPU +311, GPU +0, now: CPU 318, GPU 320 (MiB)
[09/07/2022-08:43:16] [I] [TRT] [MemUsageChange] Init builder kernel library: CPU +206, GPU +68, now: CPU 544, GPU 388 (MiB)
[09/07/2022-08:43:16] [W] [TRT] The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible.
[09/07/2022-08:43:17] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +518, GPU +226, now: CPU 1065, GPU 614 (MiB)
[09/07/2022-08:43:17] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +116, GPU +52, now: CPU 1181, GPU 666 (MiB)
[09/07/2022-08:43:17] [I] [TRT] Local timing cache in use. Profiling results in this builder pass will not be stored.
[09/07/2022-08:43:24] [I] [TRT] Detected 1 inputs and 1 output network tensors.
[09/07/2022-08:43:25] [I] [TRT] Total Host Persistent Memory: 9920
[09/07/2022-08:43:25] [I] [TRT] Total Device Persistent Memory: 0
[09/07/2022-08:43:25] [I] [TRT] Total Scratch Memory: 0
[09/07/2022-08:43:25] [I] [TRT] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 0 MiB, GPU 0 MiB
[09/07/2022-08:43:25] [I] [TRT] [BlockAssignment] Algorithm ShiftNTopDown took 0.031545ms to assign 3 blocks to 8 nodes requiring 57860 bytes.
[09/07/2022-08:43:25] [I] [TRT] Total Activation Memory: 57860
[09/07/2022-08:43:25] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in building engine: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB)
[09/07/2022-08:43:25] [I] [TRT] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 1696, GPU 864 (MiB)
[09/07/2022-08:43:25] [I] [TRT] Loaded engine size: 1 MiB
[09/07/2022-08:43:25] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB)
[09/07/2022-08:43:25] [I] [TRT] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +0, now: CPU 0, GPU 0 (MiB)
[09/07/2022-08:43:25] [I] Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%.:@@@@@@@@@@@@
@@@@@@@@@@@@@: *@@@@@@@@@@@@
@@@@@@@@@@@@* =@@@@@@@@@@@@@
@@@@@@@@@@@% :@@@@@@@@@@@@@@
@@@@@@@@@@@- *@@@@@@@@@@@@@@
@@@@@@@@@@# .@@@@@@@@@@@@@@@
@@@@@@@@@@: #@@@@@@@@@@@@@@@
@@@@@@@@@+ -@@@@@@@@@@@@@@@@
@@@@@@@@@: %@@@@@@@@@@@@@@@@
@@@@@@@@+ +@@@@@@@@@@@@@@@@@
@@@@@@@@:.%@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@#..:@@@@@@@@
@@@@@@@% +@@@@@-    :@@@@@@@
@@@@@@@% =@@@@%.#@@- +@@@@@@
@@@@@@@@..%@@@*+@@@@ :@@@@@@
@@@@@@@@= -%@@@@@@@@ :@@@@@@
@@@@@@@@@- .*@@@@@@+ +@@@@@@
@@@@@@@@@@+  .:-+-: .@@@@@@@
@@@@@@@@@@@@+:    :*@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

[09/07/2022-08:43:25] [I] Output:
0:
1:
2:
3:
4:
5:
6: **********
7:
8:
9:

&&&& PASSED TensorRT.sample_mnist [TensorRT v8403] # ../../bin/sample_mnist_debug
pranavm-nvidia commented 2 years ago

Could be an issue with CUDA/cuDNN installation in WSL. Do you see the same behavior if you install the Windows packages instead?

QCHighing commented 2 years ago

I also encountered this problem on Ubuntu 20.04 of WSL2: FAILED TensorRT.sample_mnist [TensorRT v8403] # ./sample_mnist_debug

F0xZz commented 2 years ago

I also encountered this problem on Ubuntu 20.04 of WSL2: FAILED TensorRT.sample_mnist [TensorRT v8403] # ./sample_mnist_debug

xwkhun commented 1 year ago

I also encounted this problem on Ubuntu 20.04 of WSL2: FAILED TensorRT.sample_mnist [TensorRT v8403] # ./sample_mnist_debug. Do you have a solution now?