Different VRAM consumption on different GPUs

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)

GPU

• DeepStream Version

7.1.0

• JetPack Version (valid for Jetson only)
• TensorRT Version

10.13.3.9

• NVIDIA GPU Driver Version (valid for GPU only)

580.126.09

• Issue Type( questions, new requirements, bugs)

question

• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

we launched 2 very similar pipelines, 1 on our test environment, 1 on the customer, and there’s huge different in the GPU vram consumption, the only thing that changes is the GPU and the cameras resolutions

the batch size is 10

GPU L4 L40S
.engine file size 92M 92M
cameras resolutions 1920x1440 / 1920x1080 / 1920x720 2592x1520
VRAM taken by the process 2264MiB 3134MiB

the batch size is the same, the model is the same, the pipeline is the same, the tracker configuration is the same, as well as the deepstream version and the running container

how is possible the same model to grow 100% in ram usage with the same configuration?

thank you, William

Can you tell us your complete pipeline? Is there only one camera for each pipeline?

hi @Fiona.Chen

sure, this is the pipeline

nvmultiurisrcbin latency=2000 select-rtp-protocol=4 rtsp-reconnect-interval=20 rtsp-reconnect-attempts=-1 port=9000 ip-address=localhost sync-inputs=0 live-source=1 attach-sys-ts=TRUE nvbuf-memory-type=3 name=multiurisrcbin drop-pipeline-eos=0 enable-padding=true max-batch-size=2 batched-push-timeout=33333 width=1280 height=720 uri-list=####maskeduri###,####maskeduri## sensor-id-list=0,1 sensor-name-list=mono_0,mono_1

! nvinfer interval=0 name="primary_inference"  config-file-path=../config.txt batch-size=2 model-engine-file="../model_b2_gpu0_fp16.engine" 
! nvtracker tracker-width=1280 tracker-height=704 gpu-id=0  ll-lib-file=/opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so ll-config-file=../tracker_config.yml 

! queue max-size-buffers=0 leaky=2 
! nvmultistreamtiler rows=2 columns=1   width=1280 height=1440 
! nvvideoconvert name=raw_tiler_probe nvbuf-memory-type=3 
! video/x-raw(memory:NVMM),format=RGB ! queue max-size-buffers=0 leaky=2 
! nvjpegenc quality=80 ! fakesink async=true name=jpeg_tiler_probe

thank you, William

Hi, is your concern about the GPU memory consumption? If it is so, the hardware decoder and video conversion also need the GPU memory. It is normal that the GPU memory consumption for different video resolutions are different.

1 Like