From d708869770d3927d6db5412eee581f63ec1fed12 Mon Sep 17 00:00:00 2001 From: Brian Raf <92820864+nv-braf@users.noreply.github.com> Date: Wed, 30 Aug 2023 08:42:29 -0700 Subject: [PATCH] Exception if remote server is not in explicit mode (#754) * Throw exception if remote server is not in explicit mode * Fix based on review * Remove comment --- docs/config_search.md | 8 -------- model_analyzer/triton/client/client.py | 4 ++++ tests/mocks/mock_client.py | 10 ++++++++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/config_search.md b/docs/config_search.md index 45d2ec4fd..f5db62edc 100644 --- a/docs/config_search.md +++ b/docs/config_search.md @@ -148,14 +148,6 @@ _This will perform an Automatic Brute Search with instance group counts: 3-5, ba --- -### **Interaction with Remote Triton Launch Mode** - -When the triton launch mode is remote, _\*\*only concurrency or request rate values can be swept._\*\*
- -Model Analyzer will ignore any model config parameters because we have no way of accessing and modifying the model repository of the remote Triton Server. - ---- - ## Manual Brute Search **Default brute search mode when any model config parameters or parameters are specified** diff --git a/model_analyzer/triton/client/client.py b/model_analyzer/triton/client/client.py index 21ebeff15..7bcbf9c3f 100755 --- a/model_analyzer/triton/client/client.py +++ b/model_analyzer/triton/client/client.py @@ -105,6 +105,10 @@ def load_model(self, model_name, variant_name="", config_str=None): return None except Exception as e: logger.info(f"Model {variant_name} load failed: {e}") + if "polling is enabled" in e.message(): + raise TritonModelAnalyzerException( + "The remote Tritonserver needs to be launched in EXPLICIT mode" + ) return -1 def unload_model(self, model_name): diff --git a/tests/mocks/mock_client.py b/tests/mocks/mock_client.py index 6b605d785..caaa191eb 100755 --- a/tests/mocks/mock_client.py +++ b/tests/mocks/mock_client.py @@ -16,6 +16,8 @@ from unittest.mock import ANY, MagicMock, Mock, patch +from tritonclient.http import InferenceServerException + from .mock_base import MockBase @@ -140,8 +142,12 @@ def raise_exception_on_load(self): InferenceServerException """ - self.grpc_mock.return_value.load_model.side_effect = Exception - self.http_mock.return_value.load_model.side_effect = Exception + self.grpc_mock.return_value.load_model.side_effect = InferenceServerException( + "" + ) + self.http_mock.return_value.load_model.side_effect = InferenceServerException( + "" + ) def raise_exception_on_unload(self): """