Auto batch ov2.0 API support+tests (#9672)
* additional OV 2.0 tests for Auto-Batching * adding 2.0 way of creating the requests * performance counters support
This commit is contained in:
1 parent
580a0f30eb
commit
7ca9641ead
11 files changed
+198
-55
No files matched your search
@@ -13,6 +13,7 @@
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <transformations/utils/utils.hpp>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <utility>
|
||||
@@ -48,60 +49,78 @@ Blob::Ptr create_shared_blob_on_top_of_batched_blob(Blob::Ptr batched_blob, size
|
||||
}
|
||||
|
||||
// ------------------------------AutoBatchInferRequest----------------------------
|
||||
AutoBatchInferRequest::AutoBatchInferRequest(const std::vector<std::shared_ptr<const ov::Node>>& inputs,
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& outputs,
|
||||
AutoBatchExecutableNetwork::WorkerInferRequest& workerRequest,
|
||||
int batch_id,
|
||||
int num_batch,
|
||||
bool needPerfCounters)
|
||||
: IInferRequestInternal(inputs, outputs),
|
||||
_myBatchedRequestWrapper(workerRequest),
|
||||
_needPerfCounters(needPerfCounters),
|
||||
_batchId(batch_id),
|
||||
_batchSize(num_batch) {
|
||||
ShareBlobsWithBatchRequest();
|
||||
}
|
||||
|
||||
AutoBatchInferRequest::AutoBatchInferRequest(const InputsDataMap& networkInputs,
|
||||
const OutputsDataMap& networkOutputs,
|
||||
AutoBatchExecutableNetwork::WorkerInferRequest& workerRequestPtr,
|
||||
AutoBatchExecutableNetwork::WorkerInferRequest& workerRequest,
|
||||
int batch_id,
|
||||
int num_batch,
|
||||
bool needPerfCounters)
|
||||
: IInferRequestInternal(networkInputs, networkOutputs),
|
||||
_myBatchedRequestWrapper(workerRequestPtr),
|
||||
_myBatchedRequestWrapper(workerRequest),
|
||||
_needPerfCounters(needPerfCounters),
|
||||
_batchId(batch_id),
|
||||
_batchSize(num_batch) {
|
||||
ShareBlobsWithBatchRequest();
|
||||
}
|
||||
|
||||
void AutoBatchInferRequest::ShareBlobsWithBatchRequest() {
|
||||
// Allocate all input blobs
|
||||
for (const auto& it : networkInputs) {
|
||||
for (const auto& it : _networkInputs) {
|
||||
auto blob = _myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first);
|
||||
Blob::Ptr res;
|
||||
switch (it.second->getTensorDesc().getPrecision()) {
|
||||
case InferenceEngine::Precision::FP32:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::FP32>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::I32:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I32>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::I8:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I8>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::U16:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::U16>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
|
||||
case InferenceEngine::Precision::I16:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I16>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
|
||||
break;
|
||||
case InferenceEngine::Precision::U8:
|
||||
case InferenceEngine::Precision::BOOL:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::U8>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
default:
|
||||
IE_THROW() << "Unsupported input precision " << it.second->getTensorDesc().getPrecision();
|
||||
@@ -109,48 +128,48 @@ AutoBatchInferRequest::AutoBatchInferRequest(const InputsDataMap& networkInputs,
|
||||
_inputs[it.first] = res;
|
||||
}
|
||||
// Allocate all output blobs
|
||||
for (const auto& it : networkOutputs) {
|
||||
for (const auto& it : _networkOutputs) {
|
||||
auto blob = _myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first);
|
||||
Blob::Ptr res;
|
||||
switch (it.second->getTensorDesc().getPrecision()) {
|
||||
case InferenceEngine::Precision::FP32:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::FP32>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::I32:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I32>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::I8:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I8>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
case InferenceEngine::Precision::U16:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::U16>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
|
||||
case InferenceEngine::Precision::I16:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::I16>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
|
||||
break;
|
||||
case InferenceEngine::Precision::U8:
|
||||
case InferenceEngine::Precision::BOOL:
|
||||
res = create_shared_blob_on_top_of_batched_blob<InferenceEngine::Precision::U8>(
|
||||
_myBatchedRequestWrapper._inferRequestBatched->GetBlob(it.first),
|
||||
batch_id,
|
||||
num_batch);
|
||||
_batchId,
|
||||
_batchSize);
|
||||
break;
|
||||
default:
|
||||
IE_THROW(NotImplemented) << "Unsupported input precision " << it.second->getTensorDesc().getPrecision();
|
||||
@@ -158,7 +177,6 @@ AutoBatchInferRequest::AutoBatchInferRequest(const InputsDataMap& networkInputs,
|
||||
_outputs[it.first] = res;
|
||||
}
|
||||
}
|
||||
|
||||
void AutoBatchInferRequest::SetBlobsToAnotherRequest(SoIInferRequestInternal& req) {
|
||||
for (const auto& it : _networkInputs) {
|
||||
auto& name = it.first;
|
||||
@@ -245,14 +263,20 @@ AutoBatchAsyncInferRequest::AutoBatchAsyncInferRequest(
|
||||
};
|
||||
AutoBatchAsyncInferRequest* _this = nullptr;
|
||||
};
|
||||
_pipeline = {
|
||||
{/*TaskExecutor*/ std::make_shared<ThisRequestExecutor>(this), /*task*/ [this, needPerfCounters] {
|
||||
if (this->_inferRequest->_exceptionPtr) // if the exception happened in the batch1 fallback
|
||||
std::rethrow_exception(this->_inferRequest->_exceptionPtr);
|
||||
if (this->_inferRequest->_myBatchedRequestWrapper._exceptionPtr) // when the batchN execution failed
|
||||
std::rethrow_exception(this->_inferRequest->_myBatchedRequestWrapper._exceptionPtr);
|
||||
this->_inferRequest->CopyOutputsIfNeeded();
|
||||
}}};
|
||||
_pipeline = {{/*TaskExecutor*/ std::make_shared<ThisRequestExecutor>(this), /*task*/ [this, needPerfCounters] {
|
||||
if (this->_inferRequest->_exceptionPtr) // if the exception happened in the batch1 fallback
|
||||
std::rethrow_exception(this->_inferRequest->_exceptionPtr);
|
||||
auto& batchReq = this->_inferRequest->_myBatchedRequestWrapper;
|
||||
if (batchReq._exceptionPtr) // when the batchN execution failed
|
||||
std::rethrow_exception(batchReq._exceptionPtr);
|
||||
this->_inferRequest->CopyOutputsIfNeeded();
|
||||
if (needPerfCounters) {
|
||||
try {
|
||||
this->_inferRequest->_perfMap = batchReq._inferRequestBatched->GetPerformanceCounts();
|
||||
} catch (...) {
|
||||
}
|
||||
}
|
||||
}}};
|
||||
}
|
||||
|
||||
void AutoBatchAsyncInferRequest::Infer_ThreadUnsafe() {
|
||||
@@ -305,8 +329,32 @@ std::shared_ptr<InferenceEngine::RemoteContext> AutoBatchExecutableNetwork::GetC
|
||||
InferenceEngine::IInferRequestInternal::Ptr AutoBatchExecutableNetwork::CreateInferRequestImpl(
|
||||
InferenceEngine::InputsDataMap networkInputs,
|
||||
InferenceEngine::OutputsDataMap networkOutputs) {
|
||||
// todo : guard request creation from another thread/on-the-fly
|
||||
auto workerRequestPtrAndId = GetWorkerInferRequest();
|
||||
return std::make_shared<AutoBatchInferRequest>(networkInputs,
|
||||
networkOutputs,
|
||||
workerRequestPtrAndId.first,
|
||||
workerRequestPtrAndId.second,
|
||||
_device.batchForDevice,
|
||||
_needPerfCounters);
|
||||
}
|
||||
|
||||
InferenceEngine::IInferRequestInternal::Ptr AutoBatchExecutableNetwork::CreateInferRequestImpl(
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& inputs,
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& outputs) {
|
||||
if (!this->_plugin || !this->_plugin->GetCore() || !this->_plugin->GetCore()->isNewAPI())
|
||||
return nullptr;
|
||||
auto workerRequestPtrAndId = GetWorkerInferRequest();
|
||||
return std::make_shared<AutoBatchInferRequest>(inputs,
|
||||
outputs,
|
||||
workerRequestPtrAndId.first,
|
||||
workerRequestPtrAndId.second,
|
||||
_device.batchForDevice,
|
||||
_needPerfCounters);
|
||||
}
|
||||
|
||||
std::pair<AutoBatchExecutableNetwork::WorkerInferRequest&, int> AutoBatchExecutableNetwork::GetWorkerInferRequest() {
|
||||
auto num = _numRequestsCreated++;
|
||||
std::lock_guard<std::mutex> lock(_workerRequestsMutex);
|
||||
auto batch_id = num % _device.batchForDevice;
|
||||
if (!batch_id) { // need new request
|
||||
_workerRequests.push_back(std::make_shared<WorkerInferRequest>());
|
||||
@@ -375,16 +423,15 @@ InferenceEngine::IInferRequestInternal::Ptr AutoBatchExecutableNetwork::CreateIn
|
||||
}
|
||||
});
|
||||
}
|
||||
return std::make_shared<AutoBatchInferRequest>(networkInputs,
|
||||
networkOutputs,
|
||||
*_workerRequests.back(),
|
||||
batch_id,
|
||||
_device.batchForDevice,
|
||||
_needPerfCounters);
|
||||
return {*_workerRequests.back(), batch_id};
|
||||
}
|
||||
|
||||
InferenceEngine::IInferRequestInternal::Ptr AutoBatchExecutableNetwork::CreateInferRequest() {
|
||||
auto syncRequestImpl = CreateInferRequestImpl(_networkInputs, _networkOutputs);
|
||||
IInferRequestInternal::Ptr syncRequestImpl;
|
||||
if (this->_plugin && this->_plugin->GetCore() && this->_plugin->GetCore()->isNewAPI())
|
||||
syncRequestImpl = CreateInferRequestImpl(_parameters, _results);
|
||||
if (!syncRequestImpl)
|
||||
syncRequestImpl = CreateInferRequestImpl(_networkInputs, _networkOutputs);
|
||||
syncRequestImpl->setPointerToExecutableNetworkInternal(shared_from_this());
|
||||
InferenceEngine::SoIInferRequestInternal inferRequestWithoutBatch = {_networkWithoutBatch->CreateInferRequest(),
|
||||
_networkWithoutBatch._so};
|
||||
@@ -622,7 +669,7 @@ InferenceEngine::IExecutableNetworkInternal::Ptr AutoBatchInferencePlugin::LoadN
|
||||
const std::shared_ptr<InferenceEngine::RemoteContext> ctx,
|
||||
const std::map<std::string, std::string>& config) {
|
||||
if (GetCore() == nullptr) {
|
||||
IE_THROW() << "Please, work with MULTI device via InferencEngine::Core object";
|
||||
IE_THROW() << "Please, work with Auto-Batching device via InferencEngine::Core object";
|
||||
}
|
||||
|
||||
auto fullConfig = mergeConfigs(_config, config);
|
||||
@@ -635,8 +682,11 @@ InferenceEngine::IExecutableNetworkInternal::Ptr AutoBatchInferencePlugin::LoadN
|
||||
const auto& deviceName = metaDevice.deviceName;
|
||||
const auto& deviceConfig = metaDevice.config;
|
||||
const auto perfConfig = fullConfig.find(PluginConfigParams::KEY_PERF_COUNT);
|
||||
const bool enablePerfCounters = (fullConfig.end() != perfConfig) && (perfConfig->second == PluginConfigParams::YES);
|
||||
|
||||
const auto perfConfigInTargetPlugin =
|
||||
GetCore()->GetConfig(deviceName, PluginConfigParams::KEY_PERF_COUNT).as<std::string>() ==
|
||||
PluginConfigParams::YES;
|
||||
const bool enablePerfCounters = perfConfigInTargetPlugin || ((fullConfig.end() != perfConfig) &&
|
||||
(perfConfig->second == PluginConfigParams::YES));
|
||||
auto report_footprint = [](std::shared_ptr<ICore> pCore, std::string device) -> size_t {
|
||||
size_t footprint = 0;
|
||||
// TODO: use the per-network metric (22.2) rather than plugin-level
|
||||
|
||||
@@ -59,6 +59,9 @@ public:
|
||||
InferenceEngine::IInferRequestInternal::Ptr CreateInferRequestImpl(
|
||||
InferenceEngine::InputsDataMap networkInputs,
|
||||
InferenceEngine::OutputsDataMap networkOutputs) override;
|
||||
InferenceEngine::IInferRequestInternal::Ptr CreateInferRequestImpl(
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& inputs,
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& outputs) override;
|
||||
std::shared_ptr<InferenceEngine::RemoteContext> GetContext() const override;
|
||||
std::shared_ptr<ngraph::Function> GetExecGraphInfo() override;
|
||||
virtual ~AutoBatchExecutableNetwork();
|
||||
@@ -69,7 +72,11 @@ protected:
|
||||
DeviceInformation _device;
|
||||
InferenceEngine::SoExecutableNetworkInternal _network;
|
||||
InferenceEngine::SoExecutableNetworkInternal _networkWithoutBatch;
|
||||
|
||||
std::pair<WorkerInferRequest&, int> GetWorkerInferRequest();
|
||||
std::vector<WorkerInferRequest::Ptr> _workerRequests;
|
||||
std::mutex _workerRequestsMutex;
|
||||
|
||||
std::unordered_map<std::string, InferenceEngine::Parameter> _config;
|
||||
bool _needPerfCounters = false;
|
||||
std::atomic_size_t _numRequestsCreated = {0};
|
||||
@@ -85,19 +92,26 @@ public:
|
||||
int batch_id,
|
||||
int num_batch,
|
||||
bool _needPerfCounters = false);
|
||||
std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> GetPerformanceCounts() const override;
|
||||
explicit AutoBatchInferRequest(const std::vector<std::shared_ptr<const ov::Node>>& inputs,
|
||||
const std::vector<std::shared_ptr<const ov::Node>>& outputs,
|
||||
AutoBatchExecutableNetwork::WorkerInferRequest& workerRequestPtr,
|
||||
int batch_id,
|
||||
int num_batch,
|
||||
bool _needPerfCounters = false);
|
||||
|
||||
std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> GetPerformanceCounts() const override;
|
||||
// Batch-Device impl specific: sets the data (blobs from the device request to the batched device request)
|
||||
void SetBlobsToAnotherRequest(InferenceEngine::SoIInferRequestInternal& req);
|
||||
void CopyInputsIfNeeded();
|
||||
void CopyOutputsIfNeeded();
|
||||
AutoBatchExecutableNetwork::WorkerInferRequest& _myBatchedRequestWrapper;
|
||||
std::exception_ptr _exceptionPtr;
|
||||
std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> _perfMap;
|
||||
|
||||
protected:
|
||||
std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> _perfMap;
|
||||
bool _needPerfCounters = false;
|
||||
void CopyBlobIfNeeded(InferenceEngine::Blob::CPtr src, InferenceEngine::Blob::Ptr dst, bool bInput);
|
||||
void ShareBlobsWithBatchRequest();
|
||||
size_t _batchId;
|
||||
size_t _batchSize;
|
||||
};
|
||||
|
||||
+6
@@ -15,4 +15,10 @@ INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVExecutableNetworkBaseTest,
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
::testing::ValuesIn(configs)),
|
||||
OVExecutableNetworkBaseTest::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatchBehaviorTests, OVExecutableNetworkBaseTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(std::string(CommonTestUtils::DEVICE_BATCH) + ":" + CommonTestUtils::DEVICE_GPU),
|
||||
::testing::ValuesIn(configs)),
|
||||
OVExecutableNetworkBaseTest::getTestCaseName);
|
||||
} // namespace
|
||||
+5
-5
@@ -16,23 +16,23 @@ namespace {
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(nightly_OVClassExecutableNetworkGetMetricTest,
|
||||
OVClassExecutableNetworkGetMetricTest_OPTIMAL_NUMBER_OF_INFER_REQUESTS,
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU"));
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU", "BATCH:GPU"));
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(nightly_OVClassExecutableNetworkGetMetricTest,
|
||||
OVClassExecutableNetworkGetMetricTest_SUPPORTED_CONFIG_KEYS,
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU"));
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU", "BATCH:GPU"));
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(nightly_OVClassExecutableNetworkGetMetricTest,
|
||||
OVClassExecutableNetworkGetMetricTest_SUPPORTED_METRICS,
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU"));
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU", "BATCH:GPU"));
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(nightly_OVClassExecutableNetworkGetMetricTest,
|
||||
OVClassExecutableNetworkGetMetricTest_NETWORK_NAME,
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU"));
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU", "BATCH:GPU"));
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(nightly_OVClassExecutableNetworkGetMetricTest,
|
||||
OVClassExecutableNetworkGetMetricTest_ThrowsUnsupported,
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU"));
|
||||
::testing::Values("GPU", "MULTI:GPU", "HETERO:GPU", "AUTO:GPU,CPU", "BATCH:GPU"));
|
||||
|
||||
//
|
||||
// Executable Network GetConfig / SetConfig
|
||||
|
||||
+11
@@ -18,6 +18,10 @@ const std::vector<std::map<std::string, std::string>> multiConfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> autoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestCallbackTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
@@ -35,4 +39,11 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestCallbackTests,
|
||||
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
||||
::testing::ValuesIn(multiConfigs)),
|
||||
OVInferRequestCallbackTests::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestCallbackTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(autoBatchConfigs)),
|
||||
OVInferRequestCallbackTests::getTestCaseName);
|
||||
|
||||
} // namespace
|
||||
+6
@@ -16,4 +16,10 @@ INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestCancellationTests,
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
::testing::ValuesIn(configs)),
|
||||
OVInferRequestCancellationTests::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatchBehaviorTests, OVInferRequestCancellationTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(std::string(CommonTestUtils::DEVICE_BATCH) + ":" + CommonTestUtils::DEVICE_GPU),
|
||||
::testing::ValuesIn(configs)),
|
||||
OVInferRequestCancellationTests::getTestCaseName);
|
||||
} // namespace
|
||||
+16
@@ -22,6 +22,10 @@ const std::vector<std::map<std::string, std::string>> Autoconfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> AutoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestIOTensorTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
@@ -40,6 +44,12 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestIOTensorTest,
|
||||
::testing::ValuesIn(Autoconfigs)),
|
||||
OVInferRequestIOTensorTest::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestIOTensorTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs)),
|
||||
OVInferRequestIOTensorTest::getTestCaseName);
|
||||
|
||||
std::vector<ov::element::Type> prcs = {
|
||||
ov::element::boolean,
|
||||
ov::element::bf16,
|
||||
@@ -80,4 +90,10 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestIOTensorSetPrec
|
||||
::testing::ValuesIn(Autoconfigs)),
|
||||
OVInferRequestIOTensorSetPrecisionTest::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestIOTensorSetPrecisionTest,
|
||||
::testing::Combine(
|
||||
::testing::ValuesIn(prcs),
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs)),
|
||||
OVInferRequestIOTensorSetPrecisionTest::getTestCaseName);
|
||||
} // namespace
|
||||
+9
@@ -19,6 +19,10 @@ const std::vector<std::map<std::string, std::string>> Multiconfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> AutoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestMultithreadingTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
@@ -37,4 +41,9 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestMultithreadingT
|
||||
::testing::ValuesIn(Multiconfigs)),
|
||||
OVInferRequestMultithreadingTests::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestMultithreadingTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs)),
|
||||
OVInferRequestMultithreadingTests::getTestCaseName);
|
||||
} // namespace
|
||||
+10
@@ -39,6 +39,10 @@ const std::vector<std::map<std::string, std::string>> Autoconfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> AutoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestPerfCountersTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
@@ -56,4 +60,10 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestPerfCountersTes
|
||||
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
||||
::testing::ValuesIn(Autoconfigs)),
|
||||
OVInferRequestPerfCountersTest::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestPerfCountersTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs)),
|
||||
OVInferRequestPerfCountersTest::getTestCaseName);
|
||||
} // namespace
|
||||
+9
@@ -23,6 +23,10 @@ const std::vector<std::map<std::string, std::string>> Autoconfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> AutoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, OVInferRequestWaitTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_GPU),
|
||||
@@ -41,4 +45,9 @@ INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, OVInferRequestWaitTests,
|
||||
::testing::ValuesIn(Autoconfigs)),
|
||||
OVInferRequestWaitTests::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVInferRequestWaitTests,
|
||||
::testing::Combine(
|
||||
::testing::Values(CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs)),
|
||||
OVInferRequestWaitTests::getTestCaseName);
|
||||
} // namespace
|
||||
@@ -19,6 +19,10 @@ const std::vector<std::map<std::string, std::string>> MultiConfigs = {
|
||||
{{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
const std::vector<std::map<std::string, std::string>> AutoBatchConfigs = {
|
||||
{{ CONFIG_KEY(AUTO_BATCH_DEVICE_CONFIG) , CommonTestUtils::DEVICE_GPU}}
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(DISABLED_smoke_BehaviorTests, OVRemoteTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(ngraph::element::f32),
|
||||
@@ -34,4 +38,12 @@ INSTANTIATE_TEST_SUITE_P(DISABLED_smoke_Multi_BehaviorTests, OVRemoteTest,
|
||||
::testing::ValuesIn(MultiConfigs),
|
||||
::testing::ValuesIn(generate_remote_params())),
|
||||
OVRemoteTest::getTestCaseName);
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(DISABLED_smoke_AutoBatch_BehaviorTests, OVRemoteTest,
|
||||
::testing::Combine(
|
||||
::testing::Values(ngraph::element::f32),
|
||||
::testing::Values(::CommonTestUtils::DEVICE_BATCH),
|
||||
::testing::ValuesIn(AutoBatchConfigs),
|
||||
::testing::ValuesIn(generate_remote_params())),
|
||||
OVRemoteTest::getTestCaseName);
|
||||
} // namespace
|
||||
Reference in new issue
Block a user