diff --git a/samples/cpp/benchmark_app/main.cpp b/samples/cpp/benchmark_app/main.cpp index 34ecee6ec41..6c2326adb35 100644 --- a/samples/cpp/benchmark_app/main.cpp +++ b/samples/cpp/benchmark_app/main.cpp @@ -402,6 +402,8 @@ int main(int argc, char* argv[]) { setThroughputStreams(); } else if (device.find("GNA") != std::string::npos) { set_infer_precision(); + } else if (device.find("AUTO") != std::string::npos) { + device_nstreams.erase(device); } } diff --git a/samples/cpp/benchmark_app/utils.cpp b/samples/cpp/benchmark_app/utils.cpp index 376b6cc2a66..b9384303859 100644 --- a/samples/cpp/benchmark_app/utils.cpp +++ b/samples/cpp/benchmark_app/utils.cpp @@ -109,12 +109,17 @@ std::vector parse_devices(const std::string& device_string) { std::string comma_separated_devices = device_string; auto colon = comma_separated_devices.find(":"); if (colon != std::string::npos) { + if (comma_separated_devices.substr(0, colon) == "AUTO") { + std::vector result; + result.push_back("AUTO"); + return result; + } auto bracket = comma_separated_devices.find("("); // e.g. in BATCH:GPU(4) comma_separated_devices = comma_separated_devices.substr(colon + 1, bracket - colon - 1); } - if ((comma_separated_devices == "AUTO") || (comma_separated_devices == "MULTI") || - (comma_separated_devices == "HETERO")) + if ((comma_separated_devices == "MULTI") || (comma_separated_devices == "HETERO")) return std::vector(); + auto devices = split(comma_separated_devices, ','); return devices; }