Skip to content

Commit e3f9715

Browse files
authored
Merge pull request #22 from NVIDIA-ISAAC-ROS/release-3.0
Isaac ROS 3.0.0
2 parents b8e1377 + b064c54 commit e3f9715

File tree

69 files changed

+1802
-1516
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1802
-1516
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
**/resources/**/*.db3 filter=lfs diff=lfs merge=lfs -text
2424
**/resources/**/*.yaml filter=lfs diff=lfs merge=lfs -text
2525
**/resources/**/*.yaml filter=lfs diff=lfs merge=lfs -text
26+
**/resources/**/*.mcap filter=lfs diff=lfs merge=lfs -text
2627

2728
# DNN Model files
2829
*.onnx filter=lfs diff=lfs merge=lfs -text

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Isaac ROS DNN Stereo Depth
22

3-
Hardware-accelerated, deep learned stereo disparity estimation
3+
NVIDIA-accelerated, deep learned stereo disparity estimation
44

55
<div align="center"><a class="reference internal image-reference" href="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_dnn_stereo_depth/ess3.0_conf0_r2b_storage_576p.gif/"><img alt="image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_dnn_stereo_depth/ess3.0_conf0_r2b_storage_576p.gif/" width="800px"/></a></div>
66

@@ -40,12 +40,12 @@ This package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://dev
4040

4141
## Performance
4242

43-
| Sample Graph<br/><br/> | Input Size<br/><br/> | AGX Orin<br/><br/> | Orin NX<br/><br/> | x86_64 w/ RTX 4060 Ti<br/><br/> |
44-
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
45-
| [DNN Stereo Disparity Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts/isaac_ros_ess_node.py)<br/><br/><br/>Full<br/><br/> | 576p<br/><br/><br/><br/> | [78.8 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-agx_orin.json)<br/><br/><br/>4.1 ms<br/><br/> | [27.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-orin_nx.json)<br/><br/><br/>6.2 ms<br/><br/> | [204 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-nuc_4060ti.json)<br/><br/><br/>4.4 ms<br/><br/> |
46-
| [DNN Stereo Disparity Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts/isaac_ros_light_ess_node.py)<br/><br/><br/>Light<br/><br/> | 288p<br/><br/><br/><br/> | [288 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-agx_orin.json)<br/><br/><br/>5.6 ms<br/><br/> | [128 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-orin_nx.json)<br/><br/><br/>5.6 ms<br/><br/> | [350 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-nuc_4060ti.json)<br/><br/><br/>4.2 ms<br/><br/> |
47-
| [DNN Stereo Disparity Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts/isaac_ros_ess_graph.py)<br/><br/><br/>Full<br/><br/> | 576p<br/><br/><br/><br/> | [74.0 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-agx_orin.json)<br/><br/><br/>20 ms<br/><br/> | [26.1 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-orin_nx.json)<br/><br/><br/>42 ms<br/><br/> | [191 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-nuc_4060ti.json)<br/><br/><br/>11 ms<br/><br/> |
48-
| [DNN Stereo Disparity Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts/isaac_ros_light_ess_graph.py)<br/><br/><br/>Light<br/><br/> | 288p<br/><br/><br/><br/> | [260 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-agx_orin.json)<br/><br/><br/>13 ms<br/><br/> | [116 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-orin_nx.json)<br/><br/><br/>16 ms<br/><br/> | [350 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-nuc_4060ti.json)<br/><br/><br/>12 ms<br/><br/> |
43+
| Sample Graph<br/><br/> | Input Size<br/><br/> | AGX Orin<br/><br/> | Orin NX<br/><br/> | x86_64 w/ RTX 4060 Ti<br/><br/> |
44+
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
45+
| [DNN Stereo Disparity Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_ess_benchmark/scripts/isaac_ros_ess_node.py)<br/><br/><br/>Full<br/><br/> | 576p<br/><br/><br/><br/> | [96.5 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-agx_orin.json)<br/><br/><br/>13 ms @ 30Hz<br/><br/> | [41.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-orin_nx.json)<br/><br/><br/>27 ms @ 30Hz<br/><br/> | [224 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_node-nuc_4060ti.json)<br/><br/><br/>5.5 ms @ 30Hz<br/><br/> |
46+
| [DNN Stereo Disparity Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_ess_benchmark/scripts/isaac_ros_light_ess_node.py)<br/><br/><br/>Light<br/><br/> | 288p<br/><br/><br/><br/> | [276 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-agx_orin.json)<br/><br/><br/>5.9 ms @ 30Hz<br/><br/> | [134 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-orin_nx.json)<br/><br/><br/>10 ms @ 30Hz<br/><br/> | [350 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_node-nuc_4060ti.json)<br/><br/><br/>2.4 ms @ 30Hz<br/><br/> |
47+
| [DNN Stereo Disparity Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_ess_benchmark/scripts/isaac_ros_ess_graph.py)<br/><br/><br/>Full<br/><br/> | 576p<br/><br/><br/><br/> | [89.4 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-agx_orin.json)<br/><br/><br/>5.4 ms @ 30Hz<br/><br/> | [36.8 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-orin_nx.json)<br/><br/><br/>36 ms @ 30Hz<br/><br/> | [215 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_ess_graph-nuc_4060ti.json)<br/><br/><br/>3.7 ms @ 30Hz<br/><br/> |
48+
| [DNN Stereo Disparity Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_ess_benchmark/scripts/isaac_ros_light_ess_graph.py)<br/><br/><br/>Light<br/><br/> | 288p<br/><br/><br/><br/> | [247 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-agx_orin.json)<br/><br/><br/>5.9 ms @ 30Hz<br/><br/> | [122 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-orin_nx.json)<br/><br/><br/>8.5 ms @ 30Hz<br/><br/> | [350 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_light_ess_graph-nuc_4060ti.json)<br/><br/><br/>6.1 ms @ 30Hz<br/><br/> |
4949

5050
---
5151

@@ -65,4 +65,4 @@ Please visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/re
6565

6666
## Latest
6767

68-
Update 2023-10-18: Updated for ESS 3.0 with confidence thresholding in multiple resolutions.
68+
Update 2024-05-30: Updated for ESS 4.0 with fused kernel plugins

gxf_isaac_ess/CMakeLists.txt

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
18+
cmake_minimum_required(VERSION 3.22.1)
19+
project(gxf_isaac_ess LANGUAGES C CXX)
20+
21+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
22+
add_compile_options(-fPIC -w)
23+
endif()
24+
25+
find_package(ament_cmake_auto REQUIRED)
26+
ament_auto_find_build_dependencies()
27+
28+
# Dependencies
29+
find_package(CUDAToolkit)
30+
find_package(yaml-cpp)
31+
find_package(TENSORRT)
32+
33+
# Create extension
34+
ament_auto_add_library(${PROJECT_NAME} SHARED
35+
gxf/extensions/ess/ess.cpp
36+
gxf/extensions/ess/components/ess_inference.cpp
37+
gxf/extensions/ess/components/ess_inference.hpp
38+
39+
gxf/extensions/ess/inference/ESS.cpp
40+
gxf/extensions/ess/inference/ESS.h
41+
gxf/extensions/ess/inference/ESSPostProcess.cpp
42+
gxf/extensions/ess/inference/ESSPreProcess.cpp
43+
44+
# Inferencer (ESS only)
45+
gxf/gems/dnn_inferencer/inferencer/TensorRTInferencer.cpp
46+
gxf/gems/dnn_inferencer/inferencer/TensorRTUtils.h
47+
gxf/gems/dnn_inferencer/inferencer/TensorRTUtils.cpp
48+
gxf/gems/dnn_inferencer/inferencer/TensorRTInferencer.h
49+
gxf/gems/dnn_inferencer/inferencer/Inferencer.cpp
50+
gxf/gems/dnn_inferencer/inferencer/Errors.cpp
51+
)
52+
target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/gxf")
53+
54+
target_link_libraries(${PROJECT_NAME}
55+
CUDA::cudart
56+
TENSORRT::nvinfer
57+
yaml-cpp
58+
)
59+
60+
set_target_properties(${PROJECT_NAME} PROPERTIES
61+
BUILD_WITH_INSTALL_RPATH TRUE
62+
BUILD_RPATH_USE_ORIGIN TRUE
63+
INSTALL_RPATH_USE_LINK_PATH TRUE
64+
)
65+
66+
# Install the binary file
67+
install(TARGETS ${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}/gxf/lib)
68+
69+
ament_auto_package(INSTALL_TO_SHARE)

isaac_ros_ess/gxf/ess/extensions/ess/components/ess_inference.cpp renamed to gxf_isaac_ess/gxf/extensions/ess/components/ess_inference.cpp

Lines changed: 21 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2-
// Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
// Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
//
44
// Licensed under the Apache License, Version 2.0 (the "License");
55
// you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
1717

1818
#include "extensions/ess/components/ess_inference.hpp"
1919

20+
#include <dlfcn.h>
2021
#include <algorithm>
2122
#include <sstream>
2223
#include <string>
@@ -25,7 +26,7 @@
2526
#include "extensions/tensorops/components/ImageUtils.hpp"
2627
#include "extensions/tensorops/core/Core.h"
2728
#include "extensions/tensorops/core/Image.h"
28-
#include "gems/gxf_helpers/expected_macro.hpp"
29+
#include "gems/gxf_helpers/expected_macro_gxf.hpp"
2930
#include "gems/hash/hash_file.hpp"
3031
#include "gems/video_buffer/allocator.hpp"
3132
#include "gxf/cuda/cuda_stream_id.hpp"
@@ -40,46 +41,6 @@ namespace isaac {
4041

4142
namespace detail {
4243

43-
// Function to bind a cuda stream with cid into downstream message
44-
gxf_result_t BindCudaStream(gxf::Entity& message, gxf_uid_t cid) {
45-
if (cid == kNullUid) {
46-
GXF_LOG_ERROR("stream_cid is null");
47-
return GXF_FAILURE;
48-
}
49-
auto output_stream_id = message.add<gxf::CudaStreamId>("stream");
50-
if (!output_stream_id) {
51-
GXF_LOG_ERROR("failed to add cudastreamid.");
52-
return GXF_FAILURE;
53-
}
54-
output_stream_id.value()->stream_cid = cid;
55-
return GXF_SUCCESS;
56-
}
57-
58-
// Function to record a new cuda event
59-
gxf_result_t RecordCudaEvent(gxf::Entity& message, gxf::Handle<gxf::CudaStream>& stream) {
60-
// Create a new event
61-
cudaEvent_t cuda_event;
62-
cudaEventCreateWithFlags(&cuda_event, 0);
63-
gxf::CudaEvent event;
64-
auto ret = event.initWithEvent(cuda_event, stream->dev_id(), [](auto) {});
65-
if (!ret) {
66-
GXF_LOG_ERROR("failed to init cuda event");
67-
return GXF_FAILURE;
68-
}
69-
// Record the event
70-
// Can define []() { GXF_LOG_DEBUG("tensorops event synced"); }
71-
// as callback func for debug purpose
72-
ret = stream->record(event.event().value(),
73-
[event = cuda_event, entity = message.clone().value()](auto) {
74-
cudaEventDestroy(event);
75-
});
76-
if (!ret) {
77-
GXF_LOG_ERROR("record event failed");
78-
return ret.error();
79-
}
80-
return GXF_SUCCESS;
81-
}
82-
8344
template<typename T>
8445
gxf_result_t PassthroughComponents(gxf::Entity& output, gxf::Entity& input,
8546
const char* name = nullptr) {
@@ -101,7 +62,7 @@ gxf_result_t PassthroughComponents(gxf::Entity& output, gxf::Entity& input,
10162
gxf::Expected<std::string> ComputeEnginePath(
10263
const ess::ModelBuildParams& modelBuildParams) {
10364
const SHA256::String onnx_hash =
104-
GXF_UNWRAP_OR_RETURN(hash_file(modelBuildParams.onnx_file_path.c_str()));
65+
UNWRAP_OR_RETURN(hash_file(modelBuildParams.onnx_file_path.c_str()));
10566

10667
std::string target_dir = "/tmp";
10768

@@ -189,6 +150,11 @@ gxf_result_t ESSInference::registerInterface(gxf::Registrar* registrar) {
189150
result &= registrar->parameter(
190151
onnx_file_path_, "onnx_file_path", "ONNX file path",
191152
"The path to the onnx model file");
153+
result &= registrar->parameter(
154+
tensorrt_plugin_path_, "tensorrt_plugin", "TensorRT plugin path",
155+
"The path to the TensorRT plugin file",
156+
gxf::Registrar::NoDefaultParameter(),
157+
GXF_PARAMETER_FLAGS_OPTIONAL);
192158
result &= registrar->parameter(
193159
enable_fp16_, "enable_fp16", "Enable FP16",
194160
"Flag to enable FP16 in engine generation", true);
@@ -276,6 +242,14 @@ gxf_result_t ESSInference::start() {
276242
return GXF_FAILURE;
277243
}
278244

245+
// Load ESS plugin
246+
if (tensorrt_plugin_path_.try_get() && !tensorrt_plugin_path_.try_get().value().empty()) {
247+
if(!dlopen(tensorrt_plugin_path_.try_get().value().c_str(), RTLD_NOW)) {
248+
GXF_LOG_ERROR("ESS plugin loading failed.");
249+
return GXF_FAILURE;
250+
}
251+
}
252+
279253
// Setting engine build params
280254
auto maybe_dla_core = dla_core_.try_get();
281255
const int64_t dla_core = dla_core_.try_get().value_or(-1);
@@ -290,7 +264,7 @@ gxf_result_t ESSInference::start() {
290264
engine_file_path = maybe_engine_file_path.value();
291265
} else {
292266
engine_file_path =
293-
GXF_UNWRAP_OR_RETURN(detail::ComputeEnginePath(model_build_params_));
267+
UNWRAP_OR_RETURN(detail::ComputeEnginePath(model_build_params_));
294268
}
295269

296270
// Setting inference params for ESS
@@ -336,41 +310,11 @@ gxf_result_t ESSInference::tick() {
336310
if (!inputLeftMessage) {
337311
return GXF_FAILURE;
338312
}
339-
if (cuda_stream != 0) {
340-
detail::RecordCudaEvent(inputLeftMessage.value(), cuda_stream_);
341-
auto inputLeftStreamId = inputLeftMessage.value().get<gxf::CudaStreamId>("stream");
342-
if (inputLeftStreamId) {
343-
auto inputLeftStream = gxf::Handle<gxf::CudaStream>::Create(
344-
inputLeftStreamId.value().context(),
345-
inputLeftStreamId.value()->stream_cid);
346-
// NOTE: This is an expensive call. It will halt the current CPU thread until all events
347-
// previously associated with the stream are cleared
348-
if (!inputLeftStream.value()->syncStream()) {
349-
GXF_LOG_ERROR("sync left stream failed.");
350-
return GXF_FAILURE;
351-
}
352-
}
353-
}
354313

355314
auto inputRightMessage = right_image_receiver_->receive();
356315
if (!inputRightMessage) {
357316
return GXF_FAILURE;
358317
}
359-
if (cuda_stream != 0) {
360-
detail::RecordCudaEvent(inputRightMessage.value(), cuda_stream_);
361-
auto inputRightStreamId = inputRightMessage.value().get<gxf::CudaStreamId>("stream");
362-
if (inputRightStreamId) {
363-
auto inputRightStream = gxf::Handle<gxf::CudaStream>::Create(
364-
inputRightStreamId.value().context(),
365-
inputRightStreamId.value()->stream_cid);
366-
// NOTE: This is an expensive call. It will halt the current CPU thread until all events
367-
// previously associated with the stream are cleared
368-
if (!inputRightStream.value()->syncStream()) {
369-
GXF_LOG_ERROR("sync right stream failed.");
370-
return GXF_FAILURE;
371-
}
372-
}
373-
}
374318

375319
auto maybeLeftName = left_image_name_.try_get();
376320
auto leftInputBuffer = inputLeftMessage.value().get<gxf::VideoBuffer>(
@@ -490,12 +434,6 @@ gxf_result_t ESSInference::tick() {
490434
return GXF_FAILURE;
491435
}
492436

493-
// Allocate a cuda event that can be used to record on each tick
494-
if (!cuda_stream_.is_null()) {
495-
detail::BindCudaStream(outputMessage.value(), cuda_stream_.cid());
496-
detail::RecordCudaEvent(outputMessage.value(), cuda_stream_);
497-
}
498-
499437
// Pass down timestamp if necessary
500438
auto maybeDaqTimestamp =
501439
timestamp_policy_.get() == 0 ? inputLeftMessage.value().get<gxf::Timestamp>()
@@ -553,12 +491,12 @@ gxf_result_t ESSInference::tick() {
553491
*output_model = *maybe_scaled_model;
554492
*output_conf = *maybe_scaled_model;
555493
} else {
556-
GXF_LOG_WARNING("Input message is missing intrinsics!");
494+
GXF_LOG_DEBUG("Input message is missing intrinsics!");
557495
}
558496

559497
// Publish the data and confidence
560-
GXF_RETURN_IF_ERROR(gxf::ToResultCode(output_transmitter_->publish(outputMessage.value())));
561-
GXF_RETURN_IF_ERROR(gxf::ToResultCode(confidence_transmitter_->publish(
498+
RETURN_IF_ERROR(gxf::ToResultCode(output_transmitter_->publish(outputMessage.value())));
499+
RETURN_IF_ERROR(gxf::ToResultCode(confidence_transmitter_->publish(
562500
outputConfMessage.value())));
563501

564502
return GXF_SUCCESS;

isaac_ros_ess/gxf/ess/extensions/ess/components/ess_inference.hpp renamed to gxf_isaac_ess/gxf/extensions/ess/components/ess_inference.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2-
// Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
// Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
//
44
// Licensed under the Apache License, Version 2.0 (the "License");
55
// you may not use this file except in compliance with the License.
@@ -112,6 +112,9 @@ class ESSInference : public gxf::Codelet {
112112
// Decide which timestamp to pass down
113113
gxf::Parameter<int> timestamp_policy_;
114114

115+
// ESS TentorRT plugin
116+
gxf::Parameter<std::string> tensorrt_plugin_path_;
117+
115118
gxf::Handle<gxf::CudaStream> cuda_stream_ = nullptr;
116119
};
117120

0 commit comments

Comments
 (0)