From b20830b2ed4577a4b48ee0cc01ec2a963380328e Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Mon, 4 Nov 2024 20:25:03 +0900 Subject: [PATCH 01/11] feat: Runtime output buffer optimization --- core/runtime/TRTEngine.cpp | 4 + core/runtime/TRTEngine.h | 4 + core/runtime/execute_engine.cpp | 64 ++++++++++---- core/runtime/register_jit_hooks.cpp | 1 + .../runtime/_PythonTorchTensorRTModule.py | 88 +++++++++++-------- .../dynamo/runtime/_TorchTensorRTModule.py | 1 + 6 files changed, 108 insertions(+), 54 deletions(-) diff --git a/core/runtime/TRTEngine.cpp b/core/runtime/TRTEngine.cpp index 5a5c1ad83d..d24640eae9 100644 --- a/core/runtime/TRTEngine.cpp +++ b/core/runtime/TRTEngine.cpp @@ -319,6 +319,10 @@ int64_t TRTEngine::get_automatic_device_memory_budget() { return cuda_engine->getWeightStreamingAutomaticBudget(); } +void TRTEngine::set_pre_allocated_outputs(bool enable) { + use_pre_allocated_outputs = enable; +} + std::string TRTEngine::to_str() const { // clang-format off std::stringstream ss; diff --git a/core/runtime/TRTEngine.h b/core/runtime/TRTEngine.h index 88fb7ab275..950b6edf15 100644 --- a/core/runtime/TRTEngine.h +++ b/core/runtime/TRTEngine.h @@ -88,6 +88,7 @@ struct TRTEngine : torch::CustomClassHolder { int64_t get_streamable_device_memory_budget(); int64_t get_automatic_device_memory_budget(); std::vector infer_outputs(std::vector> input_shapes); + void set_pre_allocated_outputs(bool enable); friend std::ostream& operator<<(std::ostream& os, const TRTEngine& engine); static const char BINDING_DELIM = '%'; @@ -102,6 +103,9 @@ struct TRTEngine : torch::CustomClassHolder { std::vector input_buffers = {}; std::vector output_buffers = {}; std::string shape_key; + bool cudagraphs_enabled = false; + bool use_pre_allocated_outputs = true; + std::vector pre_allocated_outputs; // TODO: Implement a call method // c10::List Run(c10::List inputs); diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index a7908468f4..f7ba509494 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -5,6 +5,7 @@ #include "torch/csrc/jit/runtime/custom_operator.h" #include "torch/torch.h" +#include #include "core/runtime/TRTEngineProfiler.h" #include "core/runtime/runtime.h" #include "core/util/prelude.h" @@ -60,9 +61,8 @@ RTDevice select_rt_device(const RTDevice& engine_device, const RTDevice& curr_de return new_target_device_opt.value(); } -bool _cudagraphs_validate_shapes(std::vector inputs, c10::intrusive_ptr compiled_engine) { - // Validate whether the current input shapes to the engine - // invalidate the existing cudagraphs object +bool _validate_shapes(std::vector inputs, c10::intrusive_ptr compiled_engine) { + // Validate whether the current input shapes to the engine has changed // Populate the shape key for the inputs // x: (3, 4), y: (4, 5) --> Key: (3,4)(4,5) @@ -83,15 +83,32 @@ bool _cudagraphs_validate_shapes(std::vector inputs, c10::intrusive_ auto new_shape_key = new_shape_key_ss.str(); - // Compare the shape key to the original key and invalidate shapes if they do not match + // Compare the shape key to the original key if (new_shape_key != compiled_engine->shape_key) { - LOG_DEBUG("Resetting Cudagraph on New Shape Key " << new_shape_key); + LOG_DEBUG("Input shape changed " << compiled_engine->shape_key << " -> " << new_shape_key); compiled_engine->shape_key = new_shape_key; - compiled_engine->cudagraph.reset(); - return false; + return true; } - return true; + return false; +} + +std::vector create_output_tensors(c10::intrusive_ptr compiled_engine) { + std::vector outputs(compiled_engine->num_io.second); + for (auto output_indices : compiled_engine->out_binding_map) { + // out_binding_map stores TRT_IDX: PYT_IDX + auto pyt_idx = output_indices.second; + + std::string name = compiled_engine->out_binding_names[pyt_idx]; + auto out_shape = compiled_engine->exec_ctx->getTensorShape(name.c_str()); + LOG_DEBUG("Output Name: " << name << " Shape: " << out_shape); + + auto dims = core::util::toVec(out_shape); + auto type = util::TRTDataTypeToScalarType(compiled_engine->exec_ctx->getEngine().getTensorDataType(name.c_str())); + outputs[pyt_idx] = std::move(at::empty(dims, {at::kCUDA}).to(type).contiguous()); + } + + return outputs; } std::vector execute_engine(std::vector inputs, c10::intrusive_ptr compiled_engine) { @@ -114,10 +131,15 @@ std::vector execute_engine(std::vector inputs, c10::intr compiled_engine->cudagraph.enable_debug_mode(); } + bool shape_changed = _validate_shapes(inputs, compiled_engine); + // Whether cudagraphs needs to record the graph on this pass - bool need_cudagraphs_record = (CUDAGRAPHS_MODE && (!_cudagraphs_validate_shapes(inputs, compiled_engine))); + // Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change + bool need_cudagraphs_record = + (((!compiled_engine->cudagraphs_enabled) && CUDAGRAPHS_MODE) || (CUDAGRAPHS_MODE && shape_changed)); + compiled_engine->cudagraphs_enabled = CUDAGRAPHS_MODE; - if (!CUDAGRAPHS_MODE) { + if (!CUDAGRAPHS_MODE || shape_changed) { compiled_engine->cudagraph.reset(); } @@ -178,6 +200,7 @@ std::vector execute_engine(std::vector inputs, c10::intr { // Input Setup std::unique_ptr input_profiler_guard; + RECORD_FUNCTION("process input", std::vector()); if (compiled_engine->profile_execution) { input_profiler_guard = std::make_unique(compiled_engine->input_profile_path); @@ -259,23 +282,20 @@ std::vector execute_engine(std::vector inputs, c10::intr { // Output Setup std::unique_ptr output_profiler_guard; + RECORD_FUNCTION("process output", std::vector()); if (compiled_engine->profile_execution) { output_profiler_guard = std::make_unique(compiled_engine->output_profile_path); } + if ((false == compiled_engine->use_pre_allocated_outputs) || shape_changed) { + outputs = create_output_tensors(compiled_engine); + } else { + outputs = compiled_engine->pre_allocated_outputs; + } for (auto output_indices : compiled_engine->out_binding_map) { - // out_binding_map stores TRT_IDX: PYT_IDX auto pyt_idx = output_indices.second; - std::string name = compiled_engine->out_binding_names[pyt_idx]; - auto out_shape = compiled_engine->exec_ctx->getTensorShape(name.c_str()); - LOG_DEBUG("Output Name: " << name << " Shape: " << out_shape); - - auto dims = core::util::toVec(out_shape); - auto type = util::TRTDataTypeToScalarType(compiled_engine->exec_ctx->getEngine().getTensorDataType(name.c_str())); - outputs[pyt_idx] = std::move(at::empty(dims, {at::kCUDA}).to(type).contiguous()); - if (need_cudagraphs_record) { // If we are recording the cuda graph then we need to update the persistent output buffer compiled_engine->output_buffers[pyt_idx] = std::move(outputs[pyt_idx].clone()); @@ -311,6 +331,7 @@ std::vector execute_engine(std::vector inputs, c10::intr std::unique_lock lock(compiled_engine->mu); { // Engine Execution (execute on engine stream) + RECORD_FUNCTION("Trt runtime", std::vector()); c10::cuda::CUDAStreamGuard stream_guard(compiled_engine->engine_stream); std::unique_ptr enqueue_profiler_guard; @@ -345,6 +366,11 @@ std::vector execute_engine(std::vector inputs, c10::intr } } // End engine exeuction (resets to caller stream) + // Create output buffer for next execution of graph or trt context. + if (compiled_engine->use_pre_allocated_outputs) { + compiled_engine->pre_allocated_outputs = create_output_tensors(compiled_engine); + } + // Block caller stream until engine execution is complete at::cuda::CUDAEvent trt_exec_complete; trt_exec_complete.record(compiled_engine->engine_stream); diff --git a/core/runtime/register_jit_hooks.cpp b/core/runtime/register_jit_hooks.cpp index 042bf085c8..eade7cdcfa 100644 --- a/core/runtime/register_jit_hooks.cpp +++ b/core/runtime/register_jit_hooks.cpp @@ -88,6 +88,7 @@ static auto TORCHTRT_UNUSED TRTEngineTSRegistrtion = .def("dump_engine_layer_info", &TRTEngine::dump_engine_layer_info) .def("get_engine_layer_info", &TRTEngine::get_engine_layer_info) .def("infer_outputs", &TRTEngine::infer_outputs) + .def("set_pre_allocated_outputs", &TRTEngine::set_pre_allocated_outputs) .def_property( "device_memory_budget", &TRTEngine::get_device_memory_budget, diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index e31d73f337..17a38c716d 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -107,6 +107,9 @@ def __init__( self.engine = None self.weight_name_map = weight_name_map self.target_platform = Platform.current_platform() + self.cudagraphs_enabled = False + self.pre_allocated_outputs: List[torch.Tensor] = [] + self.use_pre_allocated_outputs = False if self.serialized_engine is not None and not self.settings.lazy_engine_init: self.setup_engine() @@ -171,7 +174,7 @@ def setup_engine(self) -> None: self.engine.get_tensor_shape(input_name) for input_name in self.input_names ] self.output_dtypes = [ - dtype._from(self.engine.get_tensor_dtype(output_name)) + dtype._from(self.engine.get_tensor_dtype(output_name)).to(torch.dtype) for output_name in self.output_names ] self.output_shapes = [ @@ -232,6 +235,19 @@ def __del__(self) -> None: if self.cudagraph: self.cudagraph.reset() + def create_output_tensors(self) -> List[torch.Tensor]: + # create output tensors + outputs: List[torch.Tensor] = [] + + for o, _ in enumerate(self.output_names): + output = torch.empty( + size=self.output_shapes[o], + dtype=self.output_dtypes[o], + device=torch.cuda.current_device(), + ) + outputs.append(output) + return outputs + def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, ...]: # Ensure inputs are available in all scopes and cast symbolic integers to Tensors contiguous_inputs: List[torch.Tensor] = [ @@ -247,11 +263,17 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self._check_initialized() cudagraphs_enabled = torch_tensorrt.runtime.get_cudagraphs_mode() - need_cudagraphs_record = ( - cudagraphs_enabled and not self.cudagraphs_validate_shapes(inputs) - ) + shape_changed = self.validate_input_shapes(inputs) + # Cudagraphs record is required if cudagraphs_enabled is toggled to True regardless of shape change + if not self.cudagraphs_enabled and cudagraphs_enabled: + need_cudagraphs_record = True + else: + need_cudagraphs_record = cudagraphs_enabled and shape_changed + self.cudagraphs_enabled = cudagraphs_enabled if need_cudagraphs_record: + if self.cudagraph: + self.cudagraph.reset() self._input_buffers = [None] * len(self.input_names) self._output_buffers = [None] * len(self.output_names) @@ -259,7 +281,7 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self.cudagraph.reset() self.cudagraph = None - # If in safe mode, check at each iteration for for whether a switch is required + # If in safe mode, check at each iteration for whether a switch is required if ( torch_tensorrt.runtime._multi_device_safe_mode._PY_RT_MULTI_DEVICE_SAFE_MODE ): @@ -350,14 +372,14 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self.context.set_tensor_address( input_name, contiguous_inputs[i].data_ptr() ) - - # Check if input shapes can be inferred. - uninferred_input_names = self.context.infer_shapes() - if uninferred_input_names: - logger.warning( - f"The shapes of the inputs: {uninferred_input_names} cannot be inferred and could lead to undefined behavior. \ - This could happen if the input tensor addresses/shapes haven't been configured correctly" - ) + if shape_changed: + # Check if input shapes can be inferred. + uninferred_input_names = self.context.infer_shapes() + if uninferred_input_names: + logger.warning( + f"The shapes of the inputs: {uninferred_input_names} cannot be inferred and could lead to undefined behavior. \ + This could happen if the input tensor addresses/shapes haven't been configured correctly" + ) with ( torch.autograd.profiler.record_function( @@ -366,24 +388,20 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . if self.profiling_enabled else nullcontext() ): - # create output tensors - outputs: List[torch.Tensor] = [] - - for o, output_name in enumerate(self.output_names): - shape = tuple(self.context.get_tensor_shape(output_name)) - - if DYNAMIC_DIM in shape: + if not self.use_pre_allocated_outputs or shape_changed: + self.output_shapes = [ + tuple(self.context.get_tensor_shape(output_name)) + for output_name in self.output_names + ] + if DYNAMIC_DIM in self.output_shapes: raise ValueError( "Encountered dynamic output shapes during runtime. This could mean the network has data-dependent output shapes which is not currently supported." ) + outputs = self.create_output_tensors() + else: + outputs = self.pre_allocated_outputs - output = torch.empty( - size=shape, - dtype=self.output_dtypes[o].to(torch.dtype), - device=torch.cuda.current_device(), - ) - - outputs.append(output) + for o, output_name in enumerate(self.output_names): if need_cudagraphs_record: self._output_buffers[o] = outputs[o].clone() @@ -444,6 +462,9 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self._caller_stream.wait_stream(self._engine_stream) + if self.use_pre_allocated_outputs: + self.pre_allocated_outputs = self.create_output_tensors() + if cudagraphs_enabled: for idx, o in enumerate(outputs): o.copy_(self._output_buffers[idx]) @@ -485,10 +506,9 @@ def get_layer_info(self) -> str: ) return engine_json - def cudagraphs_validate_shapes(self, inputs: Sequence[torch.Tensor]) -> bool: + def validate_input_shapes(self, inputs: Sequence[torch.Tensor]) -> bool: """ - Validates the input shapes of the forward function - versus the version currently active for the + Validates the input shapes of the forward function has changed """ # Representation of input shapes to a given model # Shapes are concatenated as so: @@ -498,10 +518,8 @@ def cudagraphs_validate_shapes(self, inputs: Sequence[torch.Tensor]) -> bool: # If the new shape key differs from the existing one, # invalidate the old shape key and remove the CUDAGraph if new_shape_key != self.shape_key: - logger.debug(f"Resetting Cudagraph on new shape key {new_shape_key}") + logger.debug(f"Input shape changed {self.shape_key} -> {new_shape_key}") self.shape_key = new_shape_key - if self.cudagraph: - self.cudagraph.reset() - return False + return True - return True + return False diff --git a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py index 1bebe20fda..99f863f1da 100644 --- a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py @@ -207,6 +207,7 @@ def setup_engine(self) -> None: if self.engine is not None: return self.engine = torch.classes.tensorrt.Engine(self._pack_engine_info()) + self.engine.set_pre_allocated_outputs(True) def encode_metadata(self, metadata: Any) -> str: metadata = copy.deepcopy(metadata) From 998c0c61d1e8aa9dcdc9b1939612c843d9e122ef Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Tue, 5 Nov 2024 09:31:38 +0900 Subject: [PATCH 02/11] chore: setting for test --- core/runtime/TRTEngine.cpp | 4 ---- core/runtime/execute_engine.cpp | 4 ---- core/runtime/register_jit_hooks.cpp | 2 +- .../dynamo/runtime/_PythonTorchTensorRTModule.py | 5 ++++- py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py | 5 ++++- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/core/runtime/TRTEngine.cpp b/core/runtime/TRTEngine.cpp index d24640eae9..5a5c1ad83d 100644 --- a/core/runtime/TRTEngine.cpp +++ b/core/runtime/TRTEngine.cpp @@ -319,10 +319,6 @@ int64_t TRTEngine::get_automatic_device_memory_budget() { return cuda_engine->getWeightStreamingAutomaticBudget(); } -void TRTEngine::set_pre_allocated_outputs(bool enable) { - use_pre_allocated_outputs = enable; -} - std::string TRTEngine::to_str() const { // clang-format off std::stringstream ss; diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index f7ba509494..682d56ab3d 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -5,7 +5,6 @@ #include "torch/csrc/jit/runtime/custom_operator.h" #include "torch/torch.h" -#include #include "core/runtime/TRTEngineProfiler.h" #include "core/runtime/runtime.h" #include "core/util/prelude.h" @@ -200,7 +199,6 @@ std::vector execute_engine(std::vector inputs, c10::intr { // Input Setup std::unique_ptr input_profiler_guard; - RECORD_FUNCTION("process input", std::vector()); if (compiled_engine->profile_execution) { input_profiler_guard = std::make_unique(compiled_engine->input_profile_path); @@ -282,7 +280,6 @@ std::vector execute_engine(std::vector inputs, c10::intr { // Output Setup std::unique_ptr output_profiler_guard; - RECORD_FUNCTION("process output", std::vector()); if (compiled_engine->profile_execution) { output_profiler_guard = std::make_unique(compiled_engine->output_profile_path); @@ -331,7 +328,6 @@ std::vector execute_engine(std::vector inputs, c10::intr std::unique_lock lock(compiled_engine->mu); { // Engine Execution (execute on engine stream) - RECORD_FUNCTION("Trt runtime", std::vector()); c10::cuda::CUDAStreamGuard stream_guard(compiled_engine->engine_stream); std::unique_ptr enqueue_profiler_guard; diff --git a/core/runtime/register_jit_hooks.cpp b/core/runtime/register_jit_hooks.cpp index eade7cdcfa..e5edcf9729 100644 --- a/core/runtime/register_jit_hooks.cpp +++ b/core/runtime/register_jit_hooks.cpp @@ -88,7 +88,7 @@ static auto TORCHTRT_UNUSED TRTEngineTSRegistrtion = .def("dump_engine_layer_info", &TRTEngine::dump_engine_layer_info) .def("get_engine_layer_info", &TRTEngine::get_engine_layer_info) .def("infer_outputs", &TRTEngine::infer_outputs) - .def("set_pre_allocated_outputs", &TRTEngine::set_pre_allocated_outputs) + .def_readwrite("use_pre_allocated_outputs", &TRTEngine::use_pre_allocated_outputs) .def_property( "device_memory_budget", &TRTEngine::get_device_memory_budget, diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index 17a38c716d..afb67d1165 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -109,7 +109,7 @@ def __init__( self.target_platform = Platform.current_platform() self.cudagraphs_enabled = False self.pre_allocated_outputs: List[torch.Tensor] = [] - self.use_pre_allocated_outputs = False + self.use_pre_allocated_outputs = True if self.serialized_engine is not None and not self.settings.lazy_engine_init: self.setup_engine() @@ -248,6 +248,9 @@ def create_output_tensors(self) -> List[torch.Tensor]: outputs.append(output) return outputs + def set_output_opt(self, enable: bool) -> None: + self.use_pre_allocated_outputs = enable + def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, ...]: # Ensure inputs are available in all scopes and cast symbolic integers to Tensors contiguous_inputs: List[torch.Tensor] = [ diff --git a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py index 99f863f1da..b3ec3258f0 100644 --- a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py @@ -207,7 +207,7 @@ def setup_engine(self) -> None: if self.engine is not None: return self.engine = torch.classes.tensorrt.Engine(self._pack_engine_info()) - self.engine.set_pre_allocated_outputs(True) + self.set_output_opt(True) def encode_metadata(self, metadata: Any) -> str: metadata = copy.deepcopy(metadata) @@ -272,6 +272,9 @@ def set_extra_state(self, state: SerializedTorchTensorRTModuleFmt) -> None: self.input_binding_names = state[2] self.output_binding_names = state[3] + def set_output_opt(self, enable: bool) -> None: + self.engine.use_pre_allocated_outputs = enable + def forward(self, *inputs: Any) -> torch.Tensor | Tuple[torch.Tensor, ...]: """Implementation of the forward pass for a TensorRT engine From 210ae8b20c810c69409ee37393acbdea61989bb6 Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Thu, 14 Nov 2024 18:25:46 +0900 Subject: [PATCH 03/11] chore: Initialize shape key as non-empty string to validate no input tensor --- core/runtime/TRTEngine.h | 2 +- .../dynamo/runtime/_PythonTorchTensorRTModule.py | 2 +- py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/runtime/TRTEngine.h b/core/runtime/TRTEngine.h index 950b6edf15..947ce7934d 100644 --- a/core/runtime/TRTEngine.h +++ b/core/runtime/TRTEngine.h @@ -102,7 +102,7 @@ struct TRTEngine : torch::CustomClassHolder { at::cuda::CUDAStream caller_stream = c10::cuda::getDefaultCUDAStream(); std::vector input_buffers = {}; std::vector output_buffers = {}; - std::string shape_key; + std::string shape_key = "None"; bool cudagraphs_enabled = false; bool use_pre_allocated_outputs = true; std::vector pre_allocated_outputs; diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index afb67d1165..c856ff3be6 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -248,7 +248,7 @@ def create_output_tensors(self) -> List[torch.Tensor]: outputs.append(output) return outputs - def set_output_opt(self, enable: bool) -> None: + def set_pre_allocated_outputs(self, enable: bool) -> None: self.use_pre_allocated_outputs = enable def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, ...]: diff --git a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py index b3ec3258f0..1c9ef0a9c5 100644 --- a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py @@ -207,7 +207,7 @@ def setup_engine(self) -> None: if self.engine is not None: return self.engine = torch.classes.tensorrt.Engine(self._pack_engine_info()) - self.set_output_opt(True) + self.set_pre_allocated_outputs(False) def encode_metadata(self, metadata: Any) -> str: metadata = copy.deepcopy(metadata) @@ -272,7 +272,7 @@ def set_extra_state(self, state: SerializedTorchTensorRTModuleFmt) -> None: self.input_binding_names = state[2] self.output_binding_names = state[3] - def set_output_opt(self, enable: bool) -> None: + def set_pre_allocated_outputs(self, enable: bool) -> None: self.engine.use_pre_allocated_outputs = enable def forward(self, *inputs: Any) -> torch.Tensor | Tuple[torch.Tensor, ...]: From 4a5f0d1280f2ebcfdce6d51fc737936869307465 Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Mon, 18 Nov 2024 21:19:14 +0900 Subject: [PATCH 04/11] chore: rebase and rename variable --- core/runtime/TRTEngine.h | 2 +- core/runtime/execute_engine.cpp | 4 ++-- .../dynamo/runtime/_PythonTorchTensorRTModule.py | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/runtime/TRTEngine.h b/core/runtime/TRTEngine.h index 947ce7934d..f0e427c7da 100644 --- a/core/runtime/TRTEngine.h +++ b/core/runtime/TRTEngine.h @@ -103,7 +103,7 @@ struct TRTEngine : torch::CustomClassHolder { std::vector input_buffers = {}; std::vector output_buffers = {}; std::string shape_key = "None"; - bool cudagraphs_enabled = false; + bool prev_cudagraphs_enabled = false; bool use_pre_allocated_outputs = true; std::vector pre_allocated_outputs; diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index 682d56ab3d..c6f9dfb473 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -135,8 +135,8 @@ std::vector execute_engine(std::vector inputs, c10::intr // Whether cudagraphs needs to record the graph on this pass // Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change bool need_cudagraphs_record = - (((!compiled_engine->cudagraphs_enabled) && CUDAGRAPHS_MODE) || (CUDAGRAPHS_MODE && shape_changed)); - compiled_engine->cudagraphs_enabled = CUDAGRAPHS_MODE; + (((!compiled_engine->prev_cudagraphs_enabled) && CUDAGRAPHS_MODE) || (CUDAGRAPHS_MODE && shape_changed)); + compiled_engine->prev_cudagraphs_enabled = CUDAGRAPHS_MODE; if (!CUDAGRAPHS_MODE || shape_changed) { compiled_engine->cudagraph.reset(); diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index c856ff3be6..776b919a19 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -107,7 +107,7 @@ def __init__( self.engine = None self.weight_name_map = weight_name_map self.target_platform = Platform.current_platform() - self.cudagraphs_enabled = False + self.prev_cudagraphs_enabled = False self.pre_allocated_outputs: List[torch.Tensor] = [] self.use_pre_allocated_outputs = True @@ -268,11 +268,11 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . cudagraphs_enabled = torch_tensorrt.runtime.get_cudagraphs_mode() shape_changed = self.validate_input_shapes(inputs) # Cudagraphs record is required if cudagraphs_enabled is toggled to True regardless of shape change - if not self.cudagraphs_enabled and cudagraphs_enabled: + if not self.prev_cudagraphs_enabled and cudagraphs_enabled: need_cudagraphs_record = True else: need_cudagraphs_record = cudagraphs_enabled and shape_changed - self.cudagraphs_enabled = cudagraphs_enabled + self.prev_cudagraphs_enabled = cudagraphs_enabled if need_cudagraphs_record: if self.cudagraph: From f480353184d92f8784c85258b2b8878b8625fe42 Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Tue, 19 Nov 2024 10:03:52 +0900 Subject: [PATCH 05/11] chore: Functionalize inputs setup --- core/runtime/execute_engine.cpp | 139 +++++++++--------- .../runtime/_PythonTorchTensorRTModule.py | 104 +++++++------ .../dynamo/runtime/test_002_cudagraphs_cpp.py | 3 + .../dynamo/runtime/test_002_cudagraphs_py.py | 4 + 4 files changed, 135 insertions(+), 115 deletions(-) diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index c6f9dfb473..8c7ee4352d 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -91,7 +91,77 @@ bool _validate_shapes(std::vector inputs, c10::intrusive_ptr inputs, + c10::intrusive_ptr compiled_engine, + bool need_cudagraphs_record) { + // this is a buffer to store shape tensor input addresses throughout the runtime scope + std::list> inputShapeTensorValues; + std::list formatted_inputs(compiled_engine->num_io.first); + + for (size_t i = 0; i < inputs.size(); i++) { + std::string name = compiled_engine->in_binding_names[i]; + + TORCHTRT_CHECK( + inputs[i].is_cuda(), "Expected input tensors to have device cuda, found device " << inputs[i].device()); + + auto expected_type = + util::TRTDataTypeToScalarType(compiled_engine->exec_ctx->getEngine().getTensorDataType(name.c_str())); + TORCHTRT_CHECK( + inputs[i].dtype() == expected_type, + "Expected input tensors to have type " << expected_type << ", found type " << inputs[i].dtype()); + + auto dims = core::util::toDims(inputs[i].sizes()); + auto shape = core::util::toVec(dims); + LOG_DEBUG("Input Name: " << name << " Shape: " << dims); + + if (compiled_engine->cuda_engine->isShapeInferenceIO(name.c_str())) { + // Shape tensor inputs are casted to int64 explicitly. + // Refer to + // https://github.com/NVIDIA/TensorRT/blob/d2f4ef789a9a6ffdf37b55c3f81b486225f6b380/samples/common/sampleInference.cpp#L435 + auto input_cpu = inputs[i].clone().contiguous().cpu().to(torch::kInt64); + std::vector inputs_cpu_vec( + input_cpu.data_ptr(), input_cpu.data_ptr() + input_cpu.numel()); + inputShapeTensorValues.emplace_back(inputs_cpu_vec); + TORCHTRT_CHECK( + compiled_engine->exec_ctx->setTensorAddress(name.c_str(), inputShapeTensorValues.back().data()), + "Error while setting the tensor address for shape inputs"); + + if (CUDAGRAPHS_MODE) { + // @peri044 I dont know if this makes sense since they are supposed to be GPU buffers + compiled_engine->input_buffers[i] = input_cpu; + } + TORCHTRT_CHECK( + compiled_engine->exec_ctx->setTensorAddress(name.c_str(), inputShapeTensorValues.back().data()), + "Error while setting the tensor address for shape inputs"); + } else { + at::Tensor contig_input = inputs[i].view(shape).contiguous(); + formatted_inputs.emplace_back(std::move(contig_input)); + + if (need_cudagraphs_record) { + // Create a new persistent input buffer + compiled_engine->input_buffers[i] = std::move(formatted_inputs.back().clone()); + } + + TORCHTRT_CHECK( + compiled_engine->exec_ctx->setInputShape(name.c_str(), dims), "Error while setting the input shape"); + + if (CUDAGRAPHS_MODE) { + // If using CUDAGraphs copy formatted input to the corresponding persistent input buffer + compiled_engine->input_buffers[i].copy_(formatted_inputs.back(), true); + TORCHTRT_CHECK( + compiled_engine->exec_ctx->setTensorAddress(name.c_str(), compiled_engine->input_buffers[i].data_ptr()), + "Error while setting the input tensor address for inputs"); + } else { + // Otherwise use the formatted buffer directly + TORCHTRT_CHECK( + compiled_engine->exec_ctx->setTensorAddress(name.c_str(), formatted_inputs.back().data_ptr()), + "Error while setting the input tensor address for inputs"); + } + } + } +} std::vector create_output_tensors(c10::intrusive_ptr compiled_engine) { std::vector outputs(compiled_engine->num_io.second); for (auto output_indices : compiled_engine->out_binding_map) { @@ -142,11 +212,7 @@ std::vector execute_engine(std::vector inputs, c10::intr compiled_engine->cudagraph.reset(); } - // this is a buffer to store shape tensor input addresses throughout the runtime scope - std::list> inputShapeTensorValues; - // Intialize inputs and outputs to be available throughout the succeeding scopes - std::list formatted_inputs(compiled_engine->num_io.first); std::vector outputs(compiled_engine->num_io.second); if (MULTI_DEVICE_SAFE_MODE) { @@ -204,68 +270,7 @@ std::vector execute_engine(std::vector inputs, c10::intr std::make_unique(compiled_engine->input_profile_path); } - for (size_t i = 0; i < inputs.size(); i++) { - std::string name = compiled_engine->in_binding_names[i]; - - TORCHTRT_CHECK( - inputs[i].is_cuda(), "Expected input tensors to have device cuda, found device " << inputs[i].device()); - - auto expected_type = - util::TRTDataTypeToScalarType(compiled_engine->exec_ctx->getEngine().getTensorDataType(name.c_str())); - TORCHTRT_CHECK( - inputs[i].dtype() == expected_type, - "Expected input tensors to have type " << expected_type << ", found type " << inputs[i].dtype()); - - auto dims = core::util::toDims(inputs[i].sizes()); - auto shape = core::util::toVec(dims); - LOG_DEBUG("Input Name: " << name << " Shape: " << dims); - - if (compiled_engine->cuda_engine->isShapeInferenceIO(name.c_str())) { - // Shape tensor inputs are casted to int64 explicitly. - // Refer to - // https://github.com/NVIDIA/TensorRT/blob/d2f4ef789a9a6ffdf37b55c3f81b486225f6b380/samples/common/sampleInference.cpp#L435 - auto input_cpu = inputs[i].clone().contiguous().cpu().to(torch::kInt64); - std::vector inputs_cpu_vec( - input_cpu.data_ptr(), input_cpu.data_ptr() + input_cpu.numel()); - inputShapeTensorValues.emplace_back(inputs_cpu_vec); - TORCHTRT_CHECK( - compiled_engine->exec_ctx->setTensorAddress(name.c_str(), inputShapeTensorValues.back().data()), - "Error while setting the tensor address for shape inputs"); - - if (CUDAGRAPHS_MODE) { - // @peri044 I dont know if this makes sense since they are supposed to be GPU buffers - compiled_engine->input_buffers[i] = input_cpu; - } - TORCHTRT_CHECK( - compiled_engine->exec_ctx->setTensorAddress(name.c_str(), inputShapeTensorValues.back().data()), - "Error while setting the tensor address for shape inputs"); - - } else { - at::Tensor contig_input = inputs[i].view(shape).contiguous(); - formatted_inputs.emplace_back(std::move(contig_input)); - - if (need_cudagraphs_record) { - // Create a new persistent input buffer - compiled_engine->input_buffers[i] = std::move(formatted_inputs.back().clone()); - } - - TORCHTRT_CHECK( - compiled_engine->exec_ctx->setInputShape(name.c_str(), dims), "Error while setting the input shape"); - - if (CUDAGRAPHS_MODE) { - // If using CUDAGraphs copy formatted input to the corresponding persistent input buffer - compiled_engine->input_buffers[i].copy_(formatted_inputs.back(), true); - TORCHTRT_CHECK( - compiled_engine->exec_ctx->setTensorAddress(name.c_str(), compiled_engine->input_buffers[i].data_ptr()), - "Error while setting the input tensor address for inputs"); - } else { - // Otherwise use the formatted buffer directly - TORCHTRT_CHECK( - compiled_engine->exec_ctx->setTensorAddress(name.c_str(), formatted_inputs.back().data_ptr()), - "Error while setting the input tensor address for inputs"); - } - } - } + setup_input_tensors(inputs, compiled_engine, need_cudagraphs_record); // Check if input shapes can be inferred. int32_t const io_size{compiled_engine->cuda_engine->getNbIOTensors()}; @@ -284,7 +289,7 @@ std::vector execute_engine(std::vector inputs, c10::intr output_profiler_guard = std::make_unique(compiled_engine->output_profile_path); } - if ((false == compiled_engine->use_pre_allocated_outputs) || shape_changed) { + if (!compiled_engine->use_pre_allocated_outputs || shape_changed) { outputs = create_output_tensors(compiled_engine); } else { outputs = compiled_engine->pre_allocated_outputs; diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index 776b919a19..903160ca2b 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -109,7 +109,7 @@ def __init__( self.target_platform = Platform.current_platform() self.prev_cudagraphs_enabled = False self.pre_allocated_outputs: List[torch.Tensor] = [] - self.use_pre_allocated_outputs = True + self.use_pre_allocated_outputs = False if self.serialized_engine is not None and not self.settings.lazy_engine_init: self.setup_engine() @@ -235,6 +235,57 @@ def __del__(self) -> None: if self.cudagraph: self.cudagraph.reset() + def setup_input_tensors( + self, + contiguous_inputs: List[torch.Tensor], + cudagraphs_enabled: bool, + need_cudagraphs_record: bool, + ) -> None: + for i, input_name in enumerate(self.input_names): + if not contiguous_inputs[i].is_cuda: + logger.warning( + f"Detected input {input_name} of engine {self.engine.name} is not on a cuda device. " + "This tensor is being moved by the runtime but for performance considerations, " + "ensure your inputs are all on GPU and open an issue here " + "(https://github.com/pytorch/TensorRT/issues) if this warning persists." + ) + contiguous_inputs = ( + contiguous_inputs[:i] + + [contiguous_inputs[i].cuda()] + + contiguous_inputs[i + 1 :] + ) + + assert ( + contiguous_inputs[i].dtype == self.input_dtypes[i] + ), f"Dtype mismatch for {i}th input({input_name}). Expect {self.input_dtypes[i]}, got {contiguous_inputs[i].dtype}." + + if need_cudagraphs_record: + # If cudagraphs is enabled, this memory is reserved for future cudagraph runs + # Clone is required to avoid re-using user-provided GPU memory + self._input_buffers[i] = contiguous_inputs[i].clone() + + # For shape tensors, we use CPU pointers and for data tensors, we use GPU pointers + # as per TensorRT requirements + if self.engine.is_shape_inference_io(input_name): + # Shape tensor inputs are casted to int64 explicitly + # Currently Torch CPU pointers are not working; numpy pointers are used instead + # to refer to underlying memory + inputs_cpu = contiguous_inputs[i].cpu().to(torch.int64).numpy().copy() + self.context.set_tensor_address(input_name, inputs_cpu.ctypes.data) + else: + self.context.set_input_shape( + input_name, tuple(contiguous_inputs[i].shape) + ) + if cudagraphs_enabled: + self._input_buffers[i].copy_(contiguous_inputs[i]) + self.context.set_tensor_address( + input_name, self._input_buffers[i].data_ptr() + ) + else: + self.context.set_tensor_address( + input_name, contiguous_inputs[i].data_ptr() + ) + def create_output_tensors(self) -> List[torch.Tensor]: # create output tensors outputs: List[torch.Tensor] = [] @@ -272,6 +323,7 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . need_cudagraphs_record = True else: need_cudagraphs_record = cudagraphs_enabled and shape_changed + self.prev_cudagraphs_enabled = cudagraphs_enabled if need_cudagraphs_record: @@ -327,54 +379,10 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self.input_names ), f"Wrong number of inputs, expect {len(self.input_names)} get {len(contiguous_inputs)}." - for i, input_name in enumerate(self.input_names): - if not contiguous_inputs[i].is_cuda: - logger.warning( - f"Detected input {input_name} of engine {self.engine.name} is not on a cuda device. " - "This tensor is being moved by the runtime but for performance considerations, " - "ensure your inputs are all on GPU and open an issue here " - "(https://github.com/pytorch/TensorRT/issues) if this warning persists." - ) - contiguous_inputs = ( - contiguous_inputs[:i] - + [contiguous_inputs[i].cuda()] - + contiguous_inputs[i + 1 :] - ) - - assert ( - contiguous_inputs[i].dtype == self.input_dtypes[i] - ), f"Dtype mismatch for {i}th input({input_name}). Expect {self.input_dtypes[i]}, got {contiguous_inputs[i].dtype}." + self.setup_input_tensors( + contiguous_inputs, cudagraphs_enabled, need_cudagraphs_record + ) - if need_cudagraphs_record: - # If cudagraphs is enabled, this memory is reserved for future cudagraph runs - # Clone is required to avoid re-using user-provided GPU memory - self._input_buffers[i] = contiguous_inputs[i].clone() - - # For shape tensors, we use CPU pointers and for data tensors, we use GPU pointers - # as per TensorRT requirements - if self.engine.is_shape_inference_io(input_name): - # Shape tensor inputs are casted to int64 explicitly - # Currently Torch CPU pointers are not working; numpy pointers are used instead - # to refer to underlying memory - inputs_cpu = ( - contiguous_inputs[i].cpu().to(torch.int64).numpy().copy() - ) - self.context.set_tensor_address( - input_name, inputs_cpu.ctypes.data - ) - else: - self.context.set_input_shape( - input_name, tuple(contiguous_inputs[i].shape) - ) - if cudagraphs_enabled: - self._input_buffers[i].copy_(contiguous_inputs[i]) - self.context.set_tensor_address( - input_name, self._input_buffers[i].data_ptr() - ) - else: - self.context.set_tensor_address( - input_name, contiguous_inputs[i].data_ptr() - ) if shape_changed: # Check if input shapes can be inferred. uninferred_input_names = self.context.infer_shapes() diff --git a/tests/py/dynamo/runtime/test_002_cudagraphs_cpp.py b/tests/py/dynamo/runtime/test_002_cudagraphs_cpp.py index a017eaabca..8649ca8e84 100644 --- a/tests/py/dynamo/runtime/test_002_cudagraphs_cpp.py +++ b/tests/py/dynamo/runtime/test_002_cudagraphs_cpp.py @@ -17,6 +17,9 @@ "Torch-TensorRT runtime is not available", ) class TestCudagraphsCPP(TestCase): + def tearDown(self): + # Reset to default cuda graph mode after each test + torch_tensorrt.runtime.set_cudagraphs_mode(False) def test_cudagraphs_on(self): torch_tensorrt.runtime.set_cudagraphs_mode(True) diff --git a/tests/py/dynamo/runtime/test_002_cudagraphs_py.py b/tests/py/dynamo/runtime/test_002_cudagraphs_py.py index 4f962083a8..4bdcfbbef4 100644 --- a/tests/py/dynamo/runtime/test_002_cudagraphs_py.py +++ b/tests/py/dynamo/runtime/test_002_cudagraphs_py.py @@ -13,6 +13,10 @@ class TestCudagraphsPython(TestCase): + def tearDown(self): + # Reset to default cuda graph mode after each test + torch_tensorrt.runtime.set_cudagraphs_mode(False) + def test_cudagraphs_on(self): torch_tensorrt.runtime.set_cudagraphs_mode(True) self.assertTrue(torch_tensorrt.runtime.get_cudagraphs_mode()) From 23131c34e529c4563d63c1563b4adb62c30ec309 Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Mon, 25 Nov 2024 22:52:24 +0900 Subject: [PATCH 06/11] chore: Runtime api for pre-allocated outputs --- core/runtime/TRTEngine.cpp | 3 + core/runtime/TRTEngine.h | 35 ++++- core/runtime/execute_engine.cpp | 13 +- .../runtime/_PythonTorchTensorRTModule.py | 56 ++++++-- .../dynamo/runtime/_TorchTensorRTModule.py | 1 - py/torch_tensorrt/runtime/__init__.py | 1 + .../runtime/_pre_allocated_outputs.py | 41 ++++++ .../runtime/test_pre_allocated_outputs.py | 130 ++++++++++++++++++ 8 files changed, 259 insertions(+), 21 deletions(-) create mode 100644 py/torch_tensorrt/runtime/_pre_allocated_outputs.py create mode 100644 tests/py/dynamo/runtime/test_pre_allocated_outputs.py diff --git a/core/runtime/TRTEngine.cpp b/core/runtime/TRTEngine.cpp index 5a5c1ad83d..b103695503 100644 --- a/core/runtime/TRTEngine.cpp +++ b/core/runtime/TRTEngine.cpp @@ -99,6 +99,9 @@ TRTEngine::TRTEngine( exec_ctx = make_trt(cuda_engine->createExecutionContext()); TORCHTRT_CHECK((exec_ctx.get() != nullptr), "Unable to create TensorRT execution context"); + runtime_states.prev_cudagraphs_enabled = CUDAGRAPHS_MODE; + runtime_states.prev_pre_allocated_outputs_enabled = false; + if (_in_binding_names.size() == 0 && _out_binding_names.size() == 0) { uint64_t inputs = 0; uint64_t outputs = 0; diff --git a/core/runtime/TRTEngine.h b/core/runtime/TRTEngine.h index f0e427c7da..c9e1571c16 100644 --- a/core/runtime/TRTEngine.h +++ b/core/runtime/TRTEngine.h @@ -30,6 +30,37 @@ using FlattenedState = std::tuple< std::tuple, // serialized metadata std::tuple>; // Platform +struct RuntimeStates { + bool need_cudagraphs_record; + bool can_use_pre_allocated_outputs; +}; + +struct TorchTRTRuntimeStates { + // Previous runtime states + bool prev_cudagraphs_enabled, prev_pre_allocated_outputs_enabled; + + // Evaluates whether certain conditions are met to enable CUDA Graph recording or to reuse pre-allocated outputs + // based on the current and previous states, as well as input shape has changed + RuntimeStates validate_states(bool cudagraphs_enabled, bool pre_allocated_outputs_enabled, bool shape_changed) { + bool need_cudagraphs_record = false; + bool can_use_pre_allocated_outputs = false; + + // Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change + if (cudagraphs_enabled && (!prev_cudagraphs_enabled || shape_changed)) { + need_cudagraphs_record = true; + } + // Pre-allocated output can be used when previous and current state are true without shape change + if (prev_pre_allocated_outputs_enabled && pre_allocated_outputs_enabled && !shape_changed) { + can_use_pre_allocated_outputs = true; + } + prev_cudagraphs_enabled = cudagraphs_enabled; + prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled; + + RuntimeStates values = {need_cudagraphs_record, can_use_pre_allocated_outputs}; + return values; + } +}; + struct TRTEngine : torch::CustomClassHolder { // Each engine needs it's own runtime object std::shared_ptr rt; @@ -89,6 +120,7 @@ struct TRTEngine : torch::CustomClassHolder { int64_t get_automatic_device_memory_budget(); std::vector infer_outputs(std::vector> input_shapes); void set_pre_allocated_outputs(bool enable); + TorchTRTRuntimeStates runtime_states; friend std::ostream& operator<<(std::ostream& os, const TRTEngine& engine); static const char BINDING_DELIM = '%'; @@ -103,8 +135,7 @@ struct TRTEngine : torch::CustomClassHolder { std::vector input_buffers = {}; std::vector output_buffers = {}; std::string shape_key = "None"; - bool prev_cudagraphs_enabled = false; - bool use_pre_allocated_outputs = true; + bool use_pre_allocated_outputs = false; std::vector pre_allocated_outputs; // TODO: Implement a call method diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index 8c7ee4352d..2881c21129 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -203,10 +203,9 @@ std::vector execute_engine(std::vector inputs, c10::intr bool shape_changed = _validate_shapes(inputs, compiled_engine); // Whether cudagraphs needs to record the graph on this pass - // Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change - bool need_cudagraphs_record = - (((!compiled_engine->prev_cudagraphs_enabled) && CUDAGRAPHS_MODE) || (CUDAGRAPHS_MODE && shape_changed)); - compiled_engine->prev_cudagraphs_enabled = CUDAGRAPHS_MODE; + RuntimeStates states = compiled_engine->runtime_states.validate_states( + CUDAGRAPHS_MODE, compiled_engine->use_pre_allocated_outputs, shape_changed); + bool need_cudagraphs_record = states.need_cudagraphs_record; if (!CUDAGRAPHS_MODE || shape_changed) { compiled_engine->cudagraph.reset(); @@ -289,10 +288,10 @@ std::vector execute_engine(std::vector inputs, c10::intr output_profiler_guard = std::make_unique(compiled_engine->output_profile_path); } - if (!compiled_engine->use_pre_allocated_outputs || shape_changed) { - outputs = create_output_tensors(compiled_engine); - } else { + if (states.can_use_pre_allocated_outputs) { outputs = compiled_engine->pre_allocated_outputs; + } else { + outputs = create_output_tensors(compiled_engine); } for (auto output_indices : compiled_engine->out_binding_map) { diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index 903160ca2b..0af8897fab 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -23,6 +23,40 @@ logger = logging.getLogger(__name__) +class TorchTRTRuntimeStates: + def __init__(self, cudagraphs_enabled: bool, pre_allocated_outputs_enabled: bool): + self.prev_cudagraphs_enabled = cudagraphs_enabled + self.prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled + + def validate_states( + self, + cudagraphs_enabled: bool, + pre_allocated_outputs_enabled: bool, + shape_changed: bool, + ) -> Tuple[bool, bool]: + # Evaluates whether certain conditions are met to enable CUDA Graph recording or to reuse pre-allocated outputs + # based on the current and previous states, as well as input shape has changed + need_cudagraphs_record = False + can_use_pre_allocated_outputs = False + + # Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change + if cudagraphs_enabled and (not self.prev_cudagraphs_enabled or shape_changed): + need_cudagraphs_record = True + + # Pre-allocated output can be used when previous and current state are true without shape change + if ( + self.prev_pre_allocated_outputs_enabled + and pre_allocated_outputs_enabled + and (not shape_changed) + ): + can_use_pre_allocated_outputs = True + + self.prev_cudagraphs_enabled = cudagraphs_enabled + self.prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled + + return need_cudagraphs_record, can_use_pre_allocated_outputs + + class PythonTorchTensorRTModule(Module): # type: ignore[misc] """PythonTorchTensorRTModule is a PyTorch module which encompasses an arbitrary TensorRT Engine. @@ -107,7 +141,9 @@ def __init__( self.engine = None self.weight_name_map = weight_name_map self.target_platform = Platform.current_platform() - self.prev_cudagraphs_enabled = False + self.runtime_states = TorchTRTRuntimeStates( + torch_tensorrt.runtime.get_cudagraphs_mode(), False + ) self.pre_allocated_outputs: List[torch.Tensor] = [] self.use_pre_allocated_outputs = False @@ -318,13 +354,11 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . cudagraphs_enabled = torch_tensorrt.runtime.get_cudagraphs_mode() shape_changed = self.validate_input_shapes(inputs) - # Cudagraphs record is required if cudagraphs_enabled is toggled to True regardless of shape change - if not self.prev_cudagraphs_enabled and cudagraphs_enabled: - need_cudagraphs_record = True - else: - need_cudagraphs_record = cudagraphs_enabled and shape_changed - - self.prev_cudagraphs_enabled = cudagraphs_enabled + need_cudagraphs_record, can_use_pre_allocated_outputs = ( + self.runtime_states.validate_states( + cudagraphs_enabled, self.use_pre_allocated_outputs, shape_changed + ) + ) if need_cudagraphs_record: if self.cudagraph: @@ -399,7 +433,9 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . if self.profiling_enabled else nullcontext() ): - if not self.use_pre_allocated_outputs or shape_changed: + if can_use_pre_allocated_outputs: + outputs = self.pre_allocated_outputs + else: self.output_shapes = [ tuple(self.context.get_tensor_shape(output_name)) for output_name in self.output_names @@ -409,8 +445,6 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . "Encountered dynamic output shapes during runtime. This could mean the network has data-dependent output shapes which is not currently supported." ) outputs = self.create_output_tensors() - else: - outputs = self.pre_allocated_outputs for o, output_name in enumerate(self.output_names): diff --git a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py index 1c9ef0a9c5..15b4d16ee3 100644 --- a/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_TorchTensorRTModule.py @@ -207,7 +207,6 @@ def setup_engine(self) -> None: if self.engine is not None: return self.engine = torch.classes.tensorrt.Engine(self._pack_engine_info()) - self.set_pre_allocated_outputs(False) def encode_metadata(self, metadata: Any) -> str: metadata = copy.deepcopy(metadata) diff --git a/py/torch_tensorrt/runtime/__init__.py b/py/torch_tensorrt/runtime/__init__.py index 77b4401222..9960460b60 100644 --- a/py/torch_tensorrt/runtime/__init__.py +++ b/py/torch_tensorrt/runtime/__init__.py @@ -8,4 +8,5 @@ set_cudagraphs_mode, ) from torch_tensorrt.runtime._multi_device_safe_mode import set_multi_device_safe_mode +from torch_tensorrt.runtime._pre_allocated_outputs import enable_pre_allocated_outputs from torch_tensorrt.runtime._weight_streaming import weight_streaming diff --git a/py/torch_tensorrt/runtime/_pre_allocated_outputs.py b/py/torch_tensorrt/runtime/_pre_allocated_outputs.py new file mode 100644 index 0000000000..c392c38838 --- /dev/null +++ b/py/torch_tensorrt/runtime/_pre_allocated_outputs.py @@ -0,0 +1,41 @@ +import logging +from typing import Any + +import torch +from torch_tensorrt.dynamo.runtime import PythonTorchTensorRTModule, TorchTensorRTModule + +logger = logging.getLogger(__name__) + + +class _PreAllocatedOutputContextManager(object): + """ + Helper class used to enable pre-allocated output feature in runtime module + """ + + def __init__(self, module: torch.fx.GraphModule) -> None: + rt_mods = [] + for name, rt_mod in module.named_children(): + if "_run_on_acc" in name and isinstance( + rt_mod, (PythonTorchTensorRTModule, TorchTensorRTModule) + ): + rt_mods.append(rt_mod) + self.rt_mods = rt_mods + + def set_pre_allocated_output(self, enable: bool) -> None: + for mod in self.rt_mods: + mod.set_pre_allocated_outputs(enable) + + def __enter__(self) -> "_PreAllocatedOutputContextManager": + # Enable pre-allocated output + self.set_pre_allocated_output(True) + return self + + def __exit__(self, *args: Any) -> None: + # Disable pre-allocated output + self.set_pre_allocated_output(False) + + +def enable_pre_allocated_outputs( + module: torch.fx.GraphModule, +) -> _PreAllocatedOutputContextManager: + return _PreAllocatedOutputContextManager(module) diff --git a/tests/py/dynamo/runtime/test_pre_allocated_outputs.py b/tests/py/dynamo/runtime/test_pre_allocated_outputs.py new file mode 100644 index 0000000000..b8c7b61fb3 --- /dev/null +++ b/tests/py/dynamo/runtime/test_pre_allocated_outputs.py @@ -0,0 +1,130 @@ +import torch +import torch_tensorrt as torchtrt +from parameterized import parameterized +from torch.testing._internal.common_utils import TestCase, run_tests + +INPUT_SIZE = (3, 16, 16) +TRIALS = 5 + + +class TestPreAllocatedOutputs(TestCase): + @parameterized.expand( + [ + ("python_runtime", True), + ("cpp_runtime", False), + ] + ) + def test_pre_allocated_outputs_default(self, _, use_python_runtime): + class SampleModel(torch.nn.Module): + def forward(self, x): + return torch.softmax((x + 2) * 7, dim=0) + + model = SampleModel().eval().cuda() + inputs = [torch.randn(*INPUT_SIZE).cuda() for _ in range(TRIALS)] + fx_graph = torch.fx.symbolic_trace(model) + + # Validate that the results between Torch and Torch-TRT are similar + optimized_model = torchtrt.compile( + fx_graph, + "torch_compile", + inputs[0], + min_block_size=1, + pass_through_build_failures=True, + use_python_runtime=use_python_runtime, + ) + + ref_out_list = [] + trt_out_list = [] + with torchtrt.runtime.enable_pre_allocated_outputs(optimized_model): + for i in inputs: + ref_out_list.append(fx_graph(i).detach().cpu()) + trt_out_list.append(optimized_model(i).detach().cpu()) + + for torch_model_results, optimized_model_results in zip( + ref_out_list, trt_out_list + ): + torch.testing.assert_close( + torch_model_results, + optimized_model_results, + rtol=5e-03, + atol=5e-03, + equal_nan=True, + check_dtype=True, + ) + + torch._dynamo.reset() + + @parameterized.expand( + [ + ("python_runtime", True), + ("cpp_runtime", False), + ] + ) + def test_pre_allocated_outputs_dynamic(self, _, use_python_runtime): + class SampleModel(torch.nn.Module): + def forward(self, x): + return torch.relu((x + 2) * 0.5) + + inputs = torchtrt.Input( + min_shape=(1, 3, 128, 224), + opt_shape=(8, 3, 192, 224), + max_shape=(16, 3, 224, 224), + dtype=torch.float, + name="x", + ) + fx_graph = torch.fx.symbolic_trace(SampleModel()) + + optimized_model = torchtrt.compile( + fx_graph, + "dynamo", + inputs, + min_block_size=1, + pass_through_build_failures=True, + torch_executed_ops={"torch.ops.aten.mul.Tensor"}, + use_python_runtime=use_python_runtime, + ) + + input_list = [] + ref_out_list = [] + trt_out_list = [] + # Alternating cuda_graphs enable and input shapes at every five iterations. + for i in [1, 3, 8, 11, 16]: + for j in [128, 128, 222, 222, 224]: + input_list.append(torch.randn((i, 3, j, 224)).cuda()) + + pre_allocated_output_ctx = torchtrt.runtime.enable_pre_allocated_outputs( + optimized_model + ) + pre_allocated_output = False + for enable_cuda_graphs in [False, True]: + for i in range(len(input_list)): + # Toggles cuda graph at all index in TRIALS + if i % TRIALS == i // TRIALS: + cuda_graphs = enable_cuda_graphs + else: + cuda_graphs = not enable_cuda_graphs + if i % 3 == 0: + pre_allocated_output = not pre_allocated_output + + torchtrt.runtime.set_cudagraphs_mode(cuda_graphs) + pre_allocated_output_ctx.set_pre_allocated_output(pre_allocated_output) + + ref_out_list.append(fx_graph(input_list[i])) + trt_out_list.append(optimized_model(input_list[i])) + + for torch_model_results, optimized_model_results in zip( + ref_out_list, trt_out_list + ): + torch.testing.assert_close( + torch_model_results, + optimized_model_results, + rtol=5e-03, + atol=5e-03, + equal_nan=True, + check_dtype=True, + ) + torch._dynamo.reset() + + +if __name__ == "__main__": + run_tests() From 7f5804862fcfa1b6c2d71ca5343153dba7c02aea Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Thu, 28 Nov 2024 18:02:26 +0900 Subject: [PATCH 07/11] chore: update doc --- docsrc/index.rst | 2 + .../dynamo/pre_allocated_output_example.py | 111 ++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 examples/dynamo/pre_allocated_output_example.py diff --git a/docsrc/index.rst b/docsrc/index.rst index 5d88c8ecae..dcb481b0a2 100644 --- a/docsrc/index.rst +++ b/docsrc/index.rst @@ -67,6 +67,7 @@ Tutorials * :ref:`custom_kernel_plugins` * :ref:`mutable_torchtrt_module_example` * :ref:`weight_streaming_example` +* :ref:`pre_allocated_output_example` .. toctree:: :caption: Tutorials @@ -84,6 +85,7 @@ Tutorials tutorials/_rendered_examples/dynamo/custom_kernel_plugins tutorials/_rendered_examples/dynamo/mutable_torchtrt_module_example tutorials/_rendered_examples/dynamo/weight_streaming_example + tutorials/_rendered_examples/dynamo/pre_allocated_output_example Dynamo Frontend ---------------- diff --git a/examples/dynamo/pre_allocated_output_example.py b/examples/dynamo/pre_allocated_output_example.py new file mode 100644 index 0000000000..3fa30a9641 --- /dev/null +++ b/examples/dynamo/pre_allocated_output_example.py @@ -0,0 +1,111 @@ +""" +.. _pre_allocated_output_example: + +Pre-allocated output buffer +====================================================== + +The TensorRT runtime module acts as a wrapper around a PyTorch model (or subgraph) that has been compiled and optimized into a TensorRT engine. + +When the compiled module is executed, input and output tensors are set to TensorRT context for processing. +If output buffer allocation is moved after the execution of the TensorRT context and used it for next inference, GPU tasks and memory allocation tasks can operate concurrently. This overlap allows for more efficient use of GPU resources, potentially improving the performance of inference. + +This optimization is particularly effective in below cases + +1. Small inference time + - The allocation of output buffers typically requires minimal CPU cycles, as the caching mechanism efficiently handles memory reuse. The time taken for this allocation is relatively constant compared to the overall inference time, leading to noticeable performance improvements, especially in scenarios involving small inference workloads. This is because the reduced allocation time contributes to faster execution when the computational workload is not large enough to overshadow these savings. +2. Multiple graph breaks + - If the module contains operations that are not supported by TensorRT, the unsupported parts are handled by PyTorch and this fallback results in a graph break. The cumulative effect of optimized buffer allocations across multiple subgraphs can enhance overall inference performance. + - While optimizing output buffers can mitigate some of this overhead, reducing or removing graph breaks should be prioritized as it enables more comprehensive optimizations +3. Static input or infrequent input shape change + - If shape is changed, pre-allocated buffer cannot be used for next inference and there will new allocation before executing the TensorRT context. This feature is not suitable for use cases with frequent input shape changes +""" + +# %% +# Imports and Model Definition +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +import timeit + +import numpy as np +import torch +import torch_tensorrt +from transformers import BertModel + +# %% +# Define function to measure inference performance +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +def test_module_perf(model, *input): + timings = [] + + # Warm-up phase to ensure consistent and accurate performance measurements. + with torch.no_grad(): + for _ in range(3): + model(*input) + torch.cuda.synchronize() + + # Timing phase to measure inference performance + with torch.no_grad(): + for i in range(10): + start_time = timeit.default_timer() + model(*input) + torch.cuda.synchronize() + end_time = timeit.default_timer() + timings.append(end_time - start_time) + times = np.array(timings) + time_med = np.median(times) + + # Return the median time as a representative performance metric + return time_med + + +# %% +# Load model and compile +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +# Load bert model +model = ( + BertModel.from_pretrained("bert-base-uncased", torchscript=True) + .eval() + .half() + .to("cuda") +) +# Define sample inputs +inputs = [ + torch.randint(0, 5, (1, 128), dtype=torch.int32).to("cuda"), + torch.randint(0, 5, (1, 128), dtype=torch.int32).to("cuda"), +] +# Next, we compile the model using torch_tensorrt.compile +optimized_model = torch_tensorrt.compile( + model, + ir="dynamo", + enabled_precisions={torch.half}, + inputs=inputs, +) + +# %% +# Enable/Disable pre-allocated output buffer feature using runtime api +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +# We can enable the pre-allocated output buffer with a context manager +with torch_tensorrt.runtime.enable_pre_allocated_outputs(optimized_model): + out_trt = optimized_model(*inputs) + +# Alternatively, we can enable the feature using a context object +pre_allocated_output_ctx = torch_tensorrt.runtime.enable_pre_allocated_outputs( + optimized_model +) +pre_allocated_output_ctx.set_pre_allocated_output(True) +time_opt = test_module_perf(optimized_model, *inputs) + +# Disable the pre-allocated output buffer feature and perform inference normally +pre_allocated_output_ctx.set_pre_allocated_output(False) +out_trt = optimized_model(*inputs) +time_normal = test_module_perf(optimized_model, *inputs) + +time_opt_ms = time_opt * 1000 +time_normal_ms = time_normal * 1000 + +print(f"normal trt model time: {time_normal_ms:.3f} ms") +print(f"pre-allocated output buffer model time: {time_opt_ms:.3f} ms") From bc3b06bd01bedaf9f99f51c07edf3dedf48e4299 Mon Sep 17 00:00:00 2001 From: Apurba Bose <44209735+apbose@users.noreply.github.com> Date: Tue, 19 Nov 2024 12:16:04 -0800 Subject: [PATCH 08/11] MODULE.bazel file for NGC docker container (#3156) --- docker/MODULE.bazel.ngc | 73 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 docker/MODULE.bazel.ngc diff --git a/docker/MODULE.bazel.ngc b/docker/MODULE.bazel.ngc new file mode 100644 index 0000000000..34e5d7f8c2 --- /dev/null +++ b/docker/MODULE.bazel.ngc @@ -0,0 +1,73 @@ +module( + name = "torch_tensorrt", + version = "2.5.0a0", + repo_name = "org_pytorch_tensorrt", +) + +bazel_dep(name = "googletest", version = "1.14.0") +bazel_dep(name = "platforms", version = "0.0.10") +bazel_dep(name = "rules_cc", version = "0.0.9") +bazel_dep(name = "rules_python", version = "0.34.0") + +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + ignore_root_user_error = True, + python_version = "3.12", +) + +bazel_dep(name = "rules_pkg", version = "1.0.1") +git_override( + module_name = "rules_pkg", + commit = "17c57f4", + remote = "https://github.com/narendasan/rules_pkg", +) + +local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository") + +# External dependency for torch_tensorrt if you already have precompiled binaries. +local_repository( + name = "torch_tensorrt", + path = "/usr/local/lib/python3.12/dist-packages/torch_tensorrt/", +) + +new_local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "new_local_repository") + + +# CUDA should be installed on the system locally +new_local_repository( + name = "cuda", + build_file = "@//third_party/cuda:BUILD", + path = "/usr/local/cuda/", +) + +http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + + +#################################################################################### +# Locally installed dependencies (use in cases of custom dependencies or aarch64) +#################################################################################### + +# NOTE: In the case you are using just the pre-cxx11-abi path or just the cxx11 abi path +# with your local libtorch, just point deps at the same path to satisfy bazel. + +# NOTE: NVIDIA's aarch64 PyTorch (python) wheel file uses the CXX11 ABI unlike PyTorch's standard +# x86_64 python distribution. If using NVIDIA's version just point to the root of the package +# for both versions here and do not use --config=pre-cxx11-abi + +new_local_repository( + name = "libtorch", + path = "/usr/local/lib/python3.12/dist-packages/torch/", + build_file = "third_party/libtorch/BUILD" +) + +new_local_repository( + name = "libtorch_pre_cxx11_abi", + path = "/usr/local/lib/python3.12/dist-packages/torch/", + build_file = "third_party/libtorch/BUILD" +) + +new_local_repository( + name = "tensorrt", + path = "/usr/", + build_file = "@//third_party/tensorrt/local:BUILD" +) From ada91564cb9cd80fa950672dbb92435e66677fe5 Mon Sep 17 00:00:00 2001 From: Naren Dasan <1790613+narendasan@users.noreply.github.com> Date: Thu, 21 Nov 2024 16:34:46 -0700 Subject: [PATCH 09/11] docs: Updated tutorial for triton + torch-tensorrt (#3292) Signed-off-by: Naren Dasan Signed-off-by: Naren Dasan --- .../serving_torch_tensorrt_with_triton.rst | 145 ++++++----- examples/triton/README.rst | 237 ++++++++++++++++++ examples/triton/client.py | 61 +++++ examples/triton/export.py | 25 ++ examples/triton/img1.jpg | Bin 0 -> 452718 bytes .../model_repository/resnet50/config.pbtxt | 17 ++ 6 files changed, 423 insertions(+), 62 deletions(-) create mode 100644 examples/triton/README.rst create mode 100644 examples/triton/client.py create mode 100644 examples/triton/export.py create mode 100644 examples/triton/img1.jpg create mode 100644 examples/triton/model_repository/resnet50/config.pbtxt diff --git a/docsrc/tutorials/serving_torch_tensorrt_with_triton.rst b/docsrc/tutorials/serving_torch_tensorrt_with_triton.rst index 31cb6733cf..b45100e0ab 100644 --- a/docsrc/tutorials/serving_torch_tensorrt_with_triton.rst +++ b/docsrc/tutorials/serving_torch_tensorrt_with_triton.rst @@ -22,42 +22,55 @@ Step 1: Optimize your model with Torch-TensorRT Most Torch-TensorRT users will be familiar with this step. For the purpose of this demonstration, we will be using a ResNet50 model from Torchhub. -Let’s first pull the `NGC PyTorch Docker container `__. You may need to create +We will be working in the ``//examples/triton`` directory which contains the scripts used in this tutorial. + +First pull the `NGC PyTorch Docker container `__. You may need to create an account and get the API key from `here `__. Sign up and login with your key (follow the instructions `here `__ after signing up). :: - # is the yy:mm for the publishing tag for NVIDIA's Pytorch - # container; eg. 22.04 + # YY.MM is the yy:mm for the publishing tag for NVIDIA's Pytorch + # container; eg. 24.08 + # NOTE: Use the publishing tag for both the PyTorch container and the Triton Containers - docker run -it --gpus all -v ${PWD}:/scratch_space nvcr.io/nvidia/pytorch:-py3 + docker run -it --gpus all -v ${PWD}:/scratch_space nvcr.io/nvidia/pytorch:YY.MM-py3 cd /scratch_space -Once inside the container, we can proceed to download a ResNet model from -Torchhub and optimize it with Torch-TensorRT. +With the container we can export the model in to the correct directory in our Triton model repository. This export script uses the **Dynamo** frontend for Torch-TensorRT to compile the PyTorch model to TensorRT. Then we save the model using **TorchScript** as a serialization format which is supported by Triton. :: - import torch - import torch_tensorrt - torch.hub._validate_not_a_forked_repo=lambda a,b,c: True + import torch + import torch_tensorrt as torchtrt + import torchvision + + import torch + import torch_tensorrt + torch.hub._validate_not_a_forked_repo=lambda a,b,c: True + + # load model + model = torch.hub.load('pytorch/vision:v0.10.0', 'resnet50', pretrained=True).eval().to("cuda") + + # Compile with Torch TensorRT; + trt_model = torch_tensorrt.compile(model, + inputs= [torch_tensorrt.Input((1, 3, 224, 224))], + enabled_precisions= {torch_tensorrt.dtype.f16} + ) + + ts_trt_model = torch.jit.trace(trt_model, torch.rand(1, 3, 224, 224).to("cuda")) + + # Save the model + torch.jit.save(ts_trt_model, "/triton_example/model_repository/resnet50/1/model.pt") - # load model - model = torch.hub.load('pytorch/vision:v0.10.0', 'resnet50', pretrained=True).eval().to("cuda") +You can run the script with the following command (from ``//examples/triton``) - # Compile with Torch TensorRT; - trt_model = torch_tensorrt.compile(model, - inputs= [torch_tensorrt.Input((1, 3, 224, 224))], - enabled_precisions= { torch.half} # Run with FP32 - ) +:: - # Save the model - torch.jit.save(trt_model, "model.pt") + docker run --gpus all -it --rm -v ${PWD}:/triton_example nvcr.io/nvidia/pytorch:YY.MM-py3 python /triton_example/export.py -After copying the model, exit the container. The next step in the process -is to set up a Triton Inference Server. +This will save the serialized TorchScript version of the ResNet model in the right directory in the model repository. Step 2: Set Up Triton Inference Server -------------------------------------- @@ -90,25 +103,23 @@ For the model we prepared in step 1, the following configuration can be used: :: - name: "resnet50" - platform: "pytorch_libtorch" - max_batch_size : 0 - input [ - { - name: "input__0" - data_type: TYPE_FP32 - dims: [ 3, 224, 224 ] - reshape { shape: [ 1, 3, 224, 224 ] } - } - ] - output [ - { - name: "output__0" - data_type: TYPE_FP32 - dims: [ 1, 1000 ,1, 1] - reshape { shape: [ 1, 1000 ] } - } - ] + name: "resnet50" + backend: "pytorch" + max_batch_size : 0 + input [ + { + name: "x" + data_type: TYPE_FP32 + dims: [ 1, 3, 224, 224 ] + } + ] + output [ + { + name: "output0" + data_type: TYPE_FP32 + dims: [1, 1000] + } + ] The ``config.pbtxt`` file is used to describe the exact model configuration with details like the names and shapes of the input and output layer(s), @@ -124,14 +135,14 @@ with the docker command below. Refer `this page -py3 tritonserver --model-repository=/models + docker run --gpus all --rm -p 8000:8000 -p 8001:8001 -p 8002:8002 -v ${PWD}:/triton_example nvcr.io/nvidia/tritonserver:YY.MM-py3 tritonserver --model-repository=/triton_example/model_repository This should spin up a Triton Inference server. Next step, building a simple http client to query the server. -Step 3: Building a Triton Client to Query the Server +Step 3: Building a Triton Client to Query the Servers ---------------------------------------------------- Before proceeding, make sure to have a sample image on hand. If you don't @@ -159,22 +170,24 @@ resize and normalize the query image. :: - import numpy as np - from torchvision import transforms - from PIL import Image - import tritonclient.http as httpclient - from tritonclient.utils import triton_to_np_dtype - - # preprocessing function - def rn50_preprocess(img_path="img1.jpg"): - img = Image.open(img_path) - preprocess = transforms.Compose([ - transforms.Resize(256), - transforms.CenterCrop(224), - transforms.ToTensor(), - transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), - ]) - return preprocess(img).numpy() + import numpy as np + from torchvision import transforms + from PIL import Image + import tritonclient.http as httpclient + from tritonclient.utils import triton_to_np_dtype + + # preprocessing function + def rn50_preprocess(img_path="/triton_example/img1.jpg"): + img = Image.open(img_path) + preprocess = transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), + ] + ) + return preprocess(img).unsqueeze(0).numpy() transformed_img = rn50_preprocess() @@ -186,14 +199,14 @@ with the Triton Inference Server. # Setting up client client = httpclient.InferenceServerClient(url="localhost:8000") -Secondly, we specify the names of the input and output layer(s) of our model. +Secondly, we specify the names of the input and output layer(s) of our model. This can be obtained during export and should already be specified in your ``config.pbtxt`` :: - inputs = httpclient.InferInput("input__0", transformed_img.shape, datatype="FP32") + inputs = httpclient.InferInput("x", transformed_img.shape, datatype="FP32") inputs.set_data_from_numpy(transformed_img, binary_data=True) - outputs = httpclient.InferRequestedOutput("output__0", binary_data=True, class_count=1000) + outputs = httpclient.InferRequestedOutput("output0", binary_data=True, class_count=1000) Lastly, we send an inference request to the Triton Inference Server. @@ -201,7 +214,7 @@ Lastly, we send an inference request to the Triton Inference Server. # Querying the server results = client.infer(model_name="resnet50", inputs=[inputs], outputs=[outputs]) - inference_output = results.as_numpy('output__0') + inference_output = results.as_numpy('output0') print(inference_output[:5]) The output should look like below: @@ -214,3 +227,11 @@ The output should look like below: The output format here is ``:``. To learn how to map these to the label names and more, refer to Triton Inference Server's `documentation `__. + +You can try out this client quickly using + +:: + + # Remember to use the same publishing tag for all steps (e.g. 24.08) + + docker run -it --net=host -v ${PWD}:/triton_example nvcr.io/nvidia/tritonserver:YY.MM-py3-sdk bash -c "pip install torchvision && python /triton_example/client.py" diff --git a/examples/triton/README.rst b/examples/triton/README.rst new file mode 100644 index 0000000000..aaf7415a7d --- /dev/null +++ b/examples/triton/README.rst @@ -0,0 +1,237 @@ +.. _serving_torch_tensorrt_with_triton: + +Serving a Torch-TensorRT model with Triton +========================================== + +Optimization and deployment go hand in hand in a discussion about Machine +Learning infrastructure. Once network level optimization are done +to get the maximum performance, the next step would be to deploy it. + +However, serving this optimized model comes with its own set of considerations +and challenges like: building an infrastructure to support concurrent model +executions, supporting clients over HTTP or gRPC and more. + +The `Triton Inference Server `__ +solves the aforementioned and more. Let's discuss step-by-step, the process of +optimizing a model with Torch-TensorRT, deploying it on Triton Inference +Server, and building a client to query the model. + +Step 1: Optimize your model with Torch-TensorRT +----------------------------------------------- + +Most Torch-TensorRT users will be familiar with this step. For the purpose of +this demonstration, we will be using a ResNet50 model from Torchhub. + +We will be working in the ``//examples/triton`` directory which contains the scripts used in this tutorial. + +First pull the `NGC PyTorch Docker container `__. You may need to create +an account and get the API key from `here `__. +Sign up and login with your key (follow the instructions +`here `__ after signing up). + +:: + + # is the yy:mm for the publishing tag for NVIDIA's Pytorch + # container; eg. 24.08 + # NOTE: Use the publishing tag for both the PyTorch container and the Triton Containers + + docker run -it --gpus all -v ${PWD}:/scratch_space nvcr.io/nvidia/pytorch:-py3 + cd /scratch_space + +With the container we can export the model in to the correct directory in our Triton model repository. This export script uses the **Dynamo** frontend for Torch-TensorRT to compile the PyTorch model to TensorRT. Then we save the model using **TorchScript** as a serialization format which is supported by Triton. + +:: + + import torch + import torch_tensorrt as torchtrt + import torchvision + + import torch + import torch_tensorrt + torch.hub._validate_not_a_forked_repo=lambda a,b,c: True + + # load model + model = torch.hub.load('pytorch/vision:v0.10.0', 'resnet50', pretrained=True).eval().to("cuda") + + # Compile with Torch TensorRT; + trt_model = torch_tensorrt.compile(model, + inputs= [torch_tensorrt.Input((1, 3, 224, 224))], + enabled_precisions= {torch_tensorrt.dtype.f16} + ) + + ts_trt_model = torch.jit.trace(trt_model, torch.rand(1, 3, 224, 224).to("cuda")) + + # Save the model + torch.jit.save(ts_trt_model, "/triton_example/model_repository/resnet50/1/model.pt") + +You can run the script with the following command (from ``//examples/triton``) + +:: + + docker run --gpus all -it --rm -v ${PWD}:/triton_example nvcr.io/nvidia/pytorch:YY.XX-py3 python /triton_example/export.py + +This will save the serialized TorchScript version of the ResNet model in the right directory in the model repository. + +Step 2: Set Up Triton Inference Server +-------------------------------------- + +If you are new to the Triton Inference Server and want to learn more, we +highly recommend to checking our `Github +Repository `__. + +To use Triton, we need to make a model repository. A model repository, as the +name suggests, is a repository of the models the Inference server hosts. While +Triton can serve models from multiple repositories, in this example, we will +discuss the simplest possible form of the model repository. + +The structure of this repository should look something like this: + +:: + + model_repository + | + +-- resnet50 + | + +-- config.pbtxt + +-- 1 + | + +-- model.pt + +There are two files that Triton requires to serve the model: the model itself +and a model configuration file which is typically provided in ``config.pbtxt``. +For the model we prepared in step 1, the following configuration can be used: + +:: + + name: "resnet50" + backend: "pytorch" + max_batch_size : 0 + input [ + { + name: "x" + data_type: TYPE_FP32 + dims: [ 1, 3, 224, 224 ] + } + ] + output [ + { + name: "output0" + data_type: TYPE_FP32 + dims: [1, 1000] + } + ] + +The ``config.pbtxt`` file is used to describe the exact model configuration +with details like the names and shapes of the input and output layer(s), +datatypes, scheduling and batching details and more. If you are new to Triton, +we highly encourage you to check out this `section of our +documentation `__ +for more details. + +With the model repository setup, we can proceed to launch the Triton server +with the docker command below. Refer `this page `__ for the pull tag for the container. + +:: + + # Make sure that the TensorRT version in the Triton container + # and TensorRT version in the environment used to optimize the model + # are the same. Roughly, like publishing tags should have the same TensorRT version + + docker run --gpus all --rm -p 8000:8000 -p 8001:8001 -p 8002:8002 -v ${PWD}:/triton_example nvcr.io/nvidia/tritonserver:YY.MM-py3 tritonserver --model-repository=/triton_example/model_repository + +This should spin up a Triton Inference server. Next step, building a simple +http client to query the server. + +Step 3: Building a Triton Client to Query the Server +---------------------------------------------------- + +Before proceeding, make sure to have a sample image on hand. If you don't +have one, download an example image to test inference. In this section, we +will be going over a very basic client. For a variety of more fleshed out +examples, refer to the `Triton Client Repository `__ + +:: + + wget -O img1.jpg "https://www.hakaimagazine.com/wp-content/uploads/header-gulf-birds.jpg" + +We then need to install dependencies for building a python client. These will +change from client to client. For a full list of all languages supported by Triton, +please refer to `Triton's client repository `__. + +:: + + pip install torchvision + pip install attrdict + pip install nvidia-pyindex + pip install tritonclient[all] + +Let's jump into the client. Firstly, we write a small preprocessing function to +resize and normalize the query image. + +:: + + import numpy as np + from torchvision import transforms + from PIL import Image + import tritonclient.http as httpclient + from tritonclient.utils import triton_to_np_dtype + + # preprocessing function + def rn50_preprocess(img_path="/triton_example/img1.jpg"): + img = Image.open(img_path) + preprocess = transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), + ] + ) + return preprocess(img).unsqueeze(0).numpy() + + transformed_img = rn50_preprocess() + +Building a client requires three basic points. Firstly, we setup a connection +with the Triton Inference Server. + +:: + + # Setting up client + client = httpclient.InferenceServerClient(url="localhost:8000") + +Secondly, we specify the names of the input and output layer(s) of our model. This can be obtained during export and should already be specified in your ``config.pbtxt`` + +:: + + inputs = httpclient.InferInput("x", transformed_img.shape, datatype="FP32") + inputs.set_data_from_numpy(transformed_img, binary_data=True) + + outputs = httpclient.InferRequestedOutput("output0", binary_data=True, class_count=1000) + +Lastly, we send an inference request to the Triton Inference Server. + +:: + + # Querying the server + results = client.infer(model_name="resnet50", inputs=[inputs], outputs=[outputs]) + inference_output = results.as_numpy('output0') + print(inference_output[:5]) + +The output should look like below: + +:: + + [b'12.468750:90' b'11.523438:92' b'9.664062:14' b'8.429688:136' + b'8.234375:11'] + +The output format here is ``:``. +To learn how to map these to the label names and more, refer to Triton Inference Server's +`documentation `__. + +You can try out this client quickly using + +:: + + # Remember to use the same publishing tag for all steps (e.g. 24.08) + + docker run -it --net=host -v ${PWD}:/triton_example nvcr.io/nvidia/tritonserver:YY.MM-py3-sdk bash -c "pip install torchvision && python /triton_example/client.py" diff --git a/examples/triton/client.py b/examples/triton/client.py new file mode 100644 index 0000000000..eeb7564f25 --- /dev/null +++ b/examples/triton/client.py @@ -0,0 +1,61 @@ +# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import numpy as np +import tritonclient.http as httpclient +from PIL import Image +from torchvision import transforms +from tritonclient.utils import triton_to_np_dtype + + +# preprocessing function +def rn50_preprocess(img_path="/triton_example/img1.jpg"): + img = Image.open(img_path) + preprocess = transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), + ] + ) + return preprocess(img).unsqueeze(0).numpy() + + +transformed_img = rn50_preprocess() + +# Setting up client +client = httpclient.InferenceServerClient(url="localhost:8000") + +inputs = httpclient.InferInput("x", transformed_img.shape, datatype="FP32") +inputs.set_data_from_numpy(transformed_img, binary_data=True) + +outputs = httpclient.InferRequestedOutput("output0", binary_data=True, class_count=1000) + +# Querying the server +results = client.infer(model_name="resnet50", inputs=[inputs], outputs=[outputs]) +inference_output = results.as_numpy("output0") +print(inference_output[:5]) diff --git a/examples/triton/export.py b/examples/triton/export.py new file mode 100644 index 0000000000..fc042227e3 --- /dev/null +++ b/examples/triton/export.py @@ -0,0 +1,25 @@ +import torch +import torch_tensorrt +import torch_tensorrt as torchtrt +import torchvision + +torch.hub._validate_not_a_forked_repo = lambda a, b, c: True + +# load model +model = ( + torch.hub.load("pytorch/vision:v0.10.0", "resnet50", pretrained=True) + .eval() + .to("cuda") +) + +# Compile with Torch TensorRT; +trt_model = torch_tensorrt.compile( + model, + inputs=[torch_tensorrt.Input((1, 3, 224, 224))], + enabled_precisions={torch_tensorrt.dtype.f16}, +) + +ts_trt_model = torch.jit.trace(trt_model, torch.rand(1, 3, 224, 224).to("cuda")) + +# Save the model +torch.jit.save(ts_trt_model, "/triton_example/model_repository/resnet50/1/model.pt") diff --git a/examples/triton/img1.jpg b/examples/triton/img1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5aff253976e64512f5e77152279e27280537529 GIT binary patch literal 452718 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 wz>Iqp}gDABqKHxFzCgdzNfroy*6_5>9w;J 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∋KEzHW>U|RHYAeY0I{x_+TY4+r@q*Z=I^>;+Q-_( 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 Date: Sun, 1 Dec 2024 22:24:03 +0900 Subject: [PATCH 10/11] fix: Record cudagraphs when weight streaming budget has changed --- core/runtime/TRTEngine.cpp | 3 +++ .../runtime/_PythonTorchTensorRTModule.py | 21 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/core/runtime/TRTEngine.cpp b/core/runtime/TRTEngine.cpp index b103695503..3e23fb00c8 100644 --- a/core/runtime/TRTEngine.cpp +++ b/core/runtime/TRTEngine.cpp @@ -310,6 +310,9 @@ bool TRTEngine::set_device_memory_budget(int64_t budget) { if (profile_execution) { enable_profiling(); } + // Indicates to reevaluate the runtime settings + has_context_changed = true; + return result; } diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index 0af8897fab..e42a5a804a 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -141,11 +141,15 @@ def __init__( self.engine = None self.weight_name_map = weight_name_map self.target_platform = Platform.current_platform() +<<<<<<< HEAD self.runtime_states = TorchTRTRuntimeStates( torch_tensorrt.runtime.get_cudagraphs_mode(), False ) self.pre_allocated_outputs: List[torch.Tensor] = [] self.use_pre_allocated_outputs = False +======= + self.has_context_changed = False +>>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) if self.serialized_engine is not None and not self.settings.lazy_engine_init: self.setup_engine() @@ -165,6 +169,9 @@ def set_device_memory_budget(self, budget_bytes: int) -> int: del self.context budget_bytes = self._set_device_memory_budget(budget_bytes) self.context = self.engine.create_execution_context() + # Indicates to reevaluate the runtime settings + self.has_context_changed = True + return budget_bytes def _set_device_memory_budget(self, budget_bytes: int) -> int: @@ -353,11 +360,16 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self._check_initialized() cudagraphs_enabled = torch_tensorrt.runtime.get_cudagraphs_mode() +<<<<<<< HEAD shape_changed = self.validate_input_shapes(inputs) need_cudagraphs_record, can_use_pre_allocated_outputs = ( self.runtime_states.validate_states( cudagraphs_enabled, self.use_pre_allocated_outputs, shape_changed ) +======= + need_cudagraphs_record = cudagraphs_enabled and ( + not self.cudagraphs_validate_shapes(inputs) or self.has_context_changed +>>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) ) if need_cudagraphs_record: @@ -366,11 +378,18 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self._input_buffers = [None] * len(self.input_names) self._output_buffers = [None] * len(self.output_names) - if not cudagraphs_enabled and self.cudagraph: + if self.cudagraph and (not cudagraphs_enabled or self.has_context_changed): self.cudagraph.reset() self.cudagraph = None +<<<<<<< HEAD # If in safe mode, check at each iteration for whether a switch is required +======= + # Reset the flag + self.has_context_changed = False + + # If in safe mode, check at each iteration for for whether a switch is required +>>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) if ( torch_tensorrt.runtime._multi_device_safe_mode._PY_RT_MULTI_DEVICE_SAFE_MODE ): From 205088765b92453a4e13478ccec2ae69bd220a1d Mon Sep 17 00:00:00 2001 From: kee hyun an Date: Tue, 3 Dec 2024 22:13:47 +0900 Subject: [PATCH 11/11] chore: rebased from opt_out_buffer branch. --- core/runtime/TRTEngine.cpp | 4 +- core/runtime/TRTEngine.h | 24 +++- core/runtime/execute_engine.cpp | 9 +- .../runtime/_PythonTorchTensorRTModule.py | 65 +++++------ .../runtime/test_pre_allocated_outputs.py | 103 +++++++++++------- 5 files changed, 125 insertions(+), 80 deletions(-) diff --git a/core/runtime/TRTEngine.cpp b/core/runtime/TRTEngine.cpp index 3e23fb00c8..23d46477a6 100644 --- a/core/runtime/TRTEngine.cpp +++ b/core/runtime/TRTEngine.cpp @@ -310,8 +310,8 @@ bool TRTEngine::set_device_memory_budget(int64_t budget) { if (profile_execution) { enable_profiling(); } - // Indicates to reevaluate the runtime settings - has_context_changed = true; + + runtime_states.set_context_changed(); return result; } diff --git a/core/runtime/TRTEngine.h b/core/runtime/TRTEngine.h index c9e1571c16..2b4ddcf910 100644 --- a/core/runtime/TRTEngine.h +++ b/core/runtime/TRTEngine.h @@ -32,33 +32,49 @@ using FlattenedState = std::tuple< struct RuntimeStates { bool need_cudagraphs_record; + bool need_cudagraphs_reset; bool can_use_pre_allocated_outputs; }; struct TorchTRTRuntimeStates { // Previous runtime states - bool prev_cudagraphs_enabled, prev_pre_allocated_outputs_enabled; + bool prev_cudagraphs_enabled = false; + bool prev_pre_allocated_outputs_enabled = false; + // Indicates to reevaluate the runtime settings as context has changed + bool has_context_changed = false; - // Evaluates whether certain conditions are met to enable CUDA Graph recording or to reuse pre-allocated outputs + // Evaluates whether certain conditions are met to enable CUDA Graph recording/reset or to reuse pre-allocated outputs // based on the current and previous states, as well as input shape has changed RuntimeStates validate_states(bool cudagraphs_enabled, bool pre_allocated_outputs_enabled, bool shape_changed) { bool need_cudagraphs_record = false; bool can_use_pre_allocated_outputs = false; + bool need_cudagraphs_reset = false; // Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change - if (cudagraphs_enabled && (!prev_cudagraphs_enabled || shape_changed)) { + // If context is changed by runtime setting like weight streaming, it needs cuda graphs record + if (cudagraphs_enabled && (!prev_cudagraphs_enabled || shape_changed || has_context_changed)) { need_cudagraphs_record = true; } // Pre-allocated output can be used when previous and current state are true without shape change if (prev_pre_allocated_outputs_enabled && pre_allocated_outputs_enabled && !shape_changed) { can_use_pre_allocated_outputs = true; } + + if (!cudagraphs_enabled || shape_changed || has_context_changed) { + need_cudagraphs_reset = true; + } + + // Reset the flag + has_context_changed = false; prev_cudagraphs_enabled = cudagraphs_enabled; prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled; - RuntimeStates values = {need_cudagraphs_record, can_use_pre_allocated_outputs}; + RuntimeStates values = {need_cudagraphs_record, need_cudagraphs_reset, can_use_pre_allocated_outputs}; return values; } + void set_context_changed() { + has_context_changed = true; + } }; struct TRTEngine : torch::CustomClassHolder { diff --git a/core/runtime/execute_engine.cpp b/core/runtime/execute_engine.cpp index 2881c21129..83c5d6b76d 100644 --- a/core/runtime/execute_engine.cpp +++ b/core/runtime/execute_engine.cpp @@ -205,9 +205,8 @@ std::vector execute_engine(std::vector inputs, c10::intr // Whether cudagraphs needs to record the graph on this pass RuntimeStates states = compiled_engine->runtime_states.validate_states( CUDAGRAPHS_MODE, compiled_engine->use_pre_allocated_outputs, shape_changed); - bool need_cudagraphs_record = states.need_cudagraphs_record; - if (!CUDAGRAPHS_MODE || shape_changed) { + if (states.need_cudagraphs_reset) { compiled_engine->cudagraph.reset(); } @@ -269,7 +268,7 @@ std::vector execute_engine(std::vector inputs, c10::intr std::make_unique(compiled_engine->input_profile_path); } - setup_input_tensors(inputs, compiled_engine, need_cudagraphs_record); + setup_input_tensors(inputs, compiled_engine, states.need_cudagraphs_record); // Check if input shapes can be inferred. int32_t const io_size{compiled_engine->cuda_engine->getNbIOTensors()}; @@ -297,7 +296,7 @@ std::vector execute_engine(std::vector inputs, c10::intr for (auto output_indices : compiled_engine->out_binding_map) { auto pyt_idx = output_indices.second; std::string name = compiled_engine->out_binding_names[pyt_idx]; - if (need_cudagraphs_record) { + if (states.need_cudagraphs_record) { // If we are recording the cuda graph then we need to update the persistent output buffer compiled_engine->output_buffers[pyt_idx] = std::move(outputs[pyt_idx].clone()); } @@ -349,7 +348,7 @@ std::vector execute_engine(std::vector inputs, c10::intr // Direct execution uses the caller buffers directly compiled_engine->exec_ctx->enqueueV3(compiled_engine->engine_stream); } else { - if (need_cudagraphs_record) { + if (states.need_cudagraphs_record) { // If cudagraphs needs to record a graph, capture the enqueueV3 call in a graph c10::cuda::CUDAStream recording_stream = compiled_engine->engine_stream; compiled_engine->cudagraph.capture_begin(); diff --git a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py index e42a5a804a..40d777490c 100644 --- a/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py +++ b/py/torch_tensorrt/dynamo/runtime/_PythonTorchTensorRTModule.py @@ -24,23 +24,30 @@ class TorchTRTRuntimeStates: - def __init__(self, cudagraphs_enabled: bool, pre_allocated_outputs_enabled: bool): + def __init__(self, cudagraphs_enabled: bool): self.prev_cudagraphs_enabled = cudagraphs_enabled - self.prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled + self.prev_pre_allocated_outputs_enabled = False + self.has_context_changed = False def validate_states( self, cudagraphs_enabled: bool, pre_allocated_outputs_enabled: bool, shape_changed: bool, - ) -> Tuple[bool, bool]: - # Evaluates whether certain conditions are met to enable CUDA Graph recording or to reuse pre-allocated outputs + ) -> Tuple[bool, bool, bool]: + # Evaluates whether certain conditions are met to enable CUDA Graph recording/reset or to reuse pre-allocated outputs # based on the current and previous states, as well as input shape has changed need_cudagraphs_record = False can_use_pre_allocated_outputs = False + need_cudagraphs_reset = False # Cudagraphs record is required if cudagraphs_enabled is switched to True regardless of shape change - if cudagraphs_enabled and (not self.prev_cudagraphs_enabled or shape_changed): + # If context is changed by runtime setting like weight streaming, it needs cuda graphs record + if cudagraphs_enabled and ( + not self.prev_cudagraphs_enabled + or shape_changed + or self.has_context_changed + ): need_cudagraphs_record = True # Pre-allocated output can be used when previous and current state are true without shape change @@ -51,10 +58,19 @@ def validate_states( ): can_use_pre_allocated_outputs = True + if not cudagraphs_enabled or shape_changed or self.has_context_changed: + need_cudagraphs_reset = True + + # Reset the flag + self.has_context_changed = False self.prev_cudagraphs_enabled = cudagraphs_enabled self.prev_pre_allocated_outputs_enabled = pre_allocated_outputs_enabled - return need_cudagraphs_record, can_use_pre_allocated_outputs + return ( + need_cudagraphs_record, + need_cudagraphs_reset, + can_use_pre_allocated_outputs, + ) class PythonTorchTensorRTModule(Module): # type: ignore[misc] @@ -141,15 +157,12 @@ def __init__( self.engine = None self.weight_name_map = weight_name_map self.target_platform = Platform.current_platform() -<<<<<<< HEAD + self.runtime_states = TorchTRTRuntimeStates( - torch_tensorrt.runtime.get_cudagraphs_mode(), False + torch_tensorrt.runtime.get_cudagraphs_mode() ) self.pre_allocated_outputs: List[torch.Tensor] = [] self.use_pre_allocated_outputs = False -======= - self.has_context_changed = False ->>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) if self.serialized_engine is not None and not self.settings.lazy_engine_init: self.setup_engine() @@ -169,8 +182,7 @@ def set_device_memory_budget(self, budget_bytes: int) -> int: del self.context budget_bytes = self._set_device_memory_budget(budget_bytes) self.context = self.engine.create_execution_context() - # Indicates to reevaluate the runtime settings - self.has_context_changed = True + self.runtime_states.has_context_changed = True return budget_bytes @@ -360,36 +372,25 @@ def forward(self, *inputs: torch.Tensor) -> torch.Tensor | Tuple[torch.Tensor, . self._check_initialized() cudagraphs_enabled = torch_tensorrt.runtime.get_cudagraphs_mode() -<<<<<<< HEAD + shape_changed = self.validate_input_shapes(inputs) - need_cudagraphs_record, can_use_pre_allocated_outputs = ( - self.runtime_states.validate_states( - cudagraphs_enabled, self.use_pre_allocated_outputs, shape_changed - ) -======= - need_cudagraphs_record = cudagraphs_enabled and ( - not self.cudagraphs_validate_shapes(inputs) or self.has_context_changed ->>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) + ( + need_cudagraphs_record, + need_cudagraphs_reset, + can_use_pre_allocated_outputs, + ) = self.runtime_states.validate_states( + cudagraphs_enabled, self.use_pre_allocated_outputs, shape_changed ) if need_cudagraphs_record: - if self.cudagraph: - self.cudagraph.reset() self._input_buffers = [None] * len(self.input_names) self._output_buffers = [None] * len(self.output_names) - if self.cudagraph and (not cudagraphs_enabled or self.has_context_changed): + if need_cudagraphs_reset and self.cudagraph: self.cudagraph.reset() self.cudagraph = None -<<<<<<< HEAD # If in safe mode, check at each iteration for whether a switch is required -======= - # Reset the flag - self.has_context_changed = False - - # If in safe mode, check at each iteration for for whether a switch is required ->>>>>>> 7bb66dac4 (fix: Record cudagraphs when weight streaming budget has changed) if ( torch_tensorrt.runtime._multi_device_safe_mode._PY_RT_MULTI_DEVICE_SAFE_MODE ): diff --git a/tests/py/dynamo/runtime/test_pre_allocated_outputs.py b/tests/py/dynamo/runtime/test_pre_allocated_outputs.py index b8c7b61fb3..da1be26b76 100644 --- a/tests/py/dynamo/runtime/test_pre_allocated_outputs.py +++ b/tests/py/dynamo/runtime/test_pre_allocated_outputs.py @@ -1,3 +1,5 @@ +import itertools + import torch import torch_tensorrt as torchtrt from parameterized import parameterized @@ -62,17 +64,34 @@ def forward(self, x): ) def test_pre_allocated_outputs_dynamic(self, _, use_python_runtime): class SampleModel(torch.nn.Module): + def __init__(self): + super().__init__() + self.layer1 = torch.nn.Linear(100, 128) + self.layer2 = torch.nn.Linear(128, 64) + self.relu = torch.nn.ReLU() + def forward(self, x): - return torch.relu((x + 2) * 0.5) + out = self.layer1(x) + out = self.relu((out + 2.0) * 0.05) + out = self.layer2(out) + return out inputs = torchtrt.Input( - min_shape=(1, 3, 128, 224), - opt_shape=(8, 3, 192, 224), - max_shape=(16, 3, 224, 224), + min_shape=(1, 100), + opt_shape=(64, 100), + max_shape=(128, 100), dtype=torch.float, name="x", ) - fx_graph = torch.fx.symbolic_trace(SampleModel()) + model = SampleModel().eval().cuda() + fx_graph = torch.fx.symbolic_trace(model) + + input_list = [] + input_list.append(torch.randn((8, 100)).cuda()) + input_list.append(torch.randn((12, 100)).cuda()) + input_list.append(torch.randn((12, 100)).cuda()) + input_list.append(torch.randn((8, 100)).cuda()) + input_list.append(torch.randn((8, 100)).cuda()) optimized_model = torchtrt.compile( fx_graph, @@ -80,49 +99,59 @@ def forward(self, x): inputs, min_block_size=1, pass_through_build_failures=True, + use_explicit_typing=True, + enable_weight_streaming=True, torch_executed_ops={"torch.ops.aten.mul.Tensor"}, use_python_runtime=use_python_runtime, ) - input_list = [] - ref_out_list = [] - trt_out_list = [] - # Alternating cuda_graphs enable and input shapes at every five iterations. - for i in [1, 3, 8, 11, 16]: - for j in [128, 128, 222, 222, 224]: - input_list.append(torch.randn((i, 3, j, 224)).cuda()) + # List of tuples representing different configurations for three features: + # Cuda graphs, pre-allocated output buffer, weight streaming change + states = list(itertools.product((True, False), repeat=3)) + # Create pairs of these configurations, representing an initial state and a changed state + states_permutations = itertools.permutations(states, 2) pre_allocated_output_ctx = torchtrt.runtime.enable_pre_allocated_outputs( optimized_model ) - pre_allocated_output = False - for enable_cuda_graphs in [False, True]: - for i in range(len(input_list)): - # Toggles cuda graph at all index in TRIALS - if i % TRIALS == i // TRIALS: - cuda_graphs = enable_cuda_graphs - else: - cuda_graphs = not enable_cuda_graphs - if i % 3 == 0: - pre_allocated_output = not pre_allocated_output - + weight_streaming_ctx = torchtrt.runtime.weight_streaming(optimized_model) + streamable_budget = weight_streaming_ctx.total_device_budget + + for init_state, changed_state in states_permutations: + for cuda_graphs, pre_allocated_output, weight_streaming in [ + init_state, + changed_state, + ]: torchtrt.runtime.set_cudagraphs_mode(cuda_graphs) pre_allocated_output_ctx.set_pre_allocated_output(pre_allocated_output) - ref_out_list.append(fx_graph(input_list[i])) - trt_out_list.append(optimized_model(input_list[i])) - - for torch_model_results, optimized_model_results in zip( - ref_out_list, trt_out_list - ): - torch.testing.assert_close( - torch_model_results, - optimized_model_results, - rtol=5e-03, - atol=5e-03, - equal_nan=True, - check_dtype=True, - ) + if weight_streaming: + weight_streaming_ctx.device_budget = int(streamable_budget * 0.8) + else: + weight_streaming_ctx.device_budget = streamable_budget + + ref_out_list = [] + trt_out_list = [] + # Input shape changes + for i in range(len(input_list)): + if weight_streaming and i == 4: + weight_streaming_ctx.device_budget = int( + streamable_budget * 0.6 + ) + ref_out_list.append(fx_graph(input_list[i])) + trt_out_list.append(optimized_model(input_list[i])) + + for torch_model_results, optimized_model_results in zip( + ref_out_list, trt_out_list + ): + torch.testing.assert_close( + torch_model_results, + optimized_model_results, + rtol=5e-03, + atol=5e-03, + equal_nan=True, + check_dtype=True, + ) torch._dynamo.reset()