Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(autoware_tensorrt_common): multi-TensorRT compatibility & tensorrt_common as unified lib for all perception components #9762

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

amadeuszsz
Copy link
Contributor

@amadeuszsz amadeuszsz commented Dec 24, 2024

Description

Incoming TensorRT upgrade requires refactor within perception components. The new version of autoware_tensorrt_common library will stand as high-level TensorRT API. PR considers compatibility with current environment (TensorRT 8.6) and future upgrade (TensorRT 10.7+).

This PR should be merged before TensorRT upgrade.

Related links

Parent Issue:

How was this PR tested?

A. Current environment (without dependencies upgrade).
B. New environment (with dependencies upgrade).

  • If rosdistro PR not merged (see parent issue for more information), clone tensorrt_cmake_module into e.g. src/universe/external.
git clone https://github.com/tier4/tensorrt_cmake_module.git src/universe/external/tensorrt_cmake_module
  • Checkout for Autoware environment upgrade branch.
git fetch origin pull/5608/head:feat/cuda-trt-upgrade
git switch feat/cuda-trt-upgrade
  • Remove these lines to make sure build script will not change PR branch.
  • Build docker locally.
./docker/build.sh --devel-only
  • Test this PR in docker.

Notes for reviewers

  • Implicit quantization Is deprecated and will be no longer supported in future. Here, this feature was delegated to another class definition which inherits base class of TrtCommon. Documentation says, They may not give the optimal performance and accuracy. As a workaround, use INT8 explicit quantization instead, therefore we might need to consider explicit quantization (during model deployment).
  • You can test this PR in current environment. However, I encourage to test it also with upgraded libraries.
  • Due to API changes, we can't split this PR.

Interface changes

None.

Effects on system behavior

None.

…nsorrt_common as unified lib for all perception components

Signed-off-by: Amadeusz Szymko <[email protected]>
@amadeuszsz amadeuszsz added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Dec 24, 2024
@amadeuszsz amadeuszsz self-assigned this Dec 24, 2024
@github-actions github-actions bot added type:documentation Creating or refining documentation. (auto-assigned) tag:require-cuda-build-and-test labels Dec 24, 2024
Copy link

github-actions bot commented Dec 24, 2024

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@amadeuszsz amadeuszsz added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Dec 25, 2024
Copy link

codecov bot commented Dec 25, 2024

Codecov Report

Attention: Patch coverage is 0% with 709 lines in your changes missing coverage. Please review.

Project coverage is 29.64%. Comparing base (421ec7d) to head (b65f646).

Files with missing lines Patch % Lines
...n/autoware_tensorrt_common/src/tensorrt_common.cpp 0.00% 253 Missing ⚠️
...ion/autoware_tensorrt_yolox/src/tensorrt_yolox.cpp 0.00% 72 Missing ⚠️
...e/autoware/tensorrt_common/tensorrt_conv_calib.hpp 0.00% 67 Missing ⚠️
..._common/include/autoware/tensorrt_common/utils.hpp 0.00% 66 Missing ⚠️
...rception/autoware_tensorrt_common/src/profiler.cpp 0.00% 47 Missing ⚠️
...autoware_lidar_centerpoint/lib/centerpoint_trt.cpp 0.00% 41 Missing ⚠️
...autoware_lidar_transfusion/lib/transfusion_trt.cpp 0.00% 39 Missing ⚠️
...re_tensorrt_classifier/src/tensorrt_classifier.cpp 0.00% 37 Missing ⚠️
..._shape_estimation/lib/tensorrt_shape_estimator.cpp 0.00% 19 Missing ⚠️
...include/autoware/tensorrt_common/conv_profiler.hpp 0.00% 15 Missing ⚠️
... and 13 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9762      +/-   ##
==========================================
- Coverage   29.72%   29.64%   -0.08%     
==========================================
  Files        1450     1457       +7     
  Lines      108837   109123     +286     
  Branches    42740    42825      +85     
==========================================
+ Hits        32348    32352       +4     
- Misses      73311    73592     +281     
- Partials     3178     3179       +1     
Flag Coverage Δ *Carryforward flag
differential 7.29% <ø> (?)
differential-cuda 6.27% <0.00%> (?)
total 29.84% <ø> (+0.12%) ⬆️ Carriedforward from 421ec7d

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) tag:require-cuda-build-and-test type:documentation Creating or refining documentation. (auto-assigned)
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

1 participant