Improve GNA MT sychronization (#2553)

* Sync GNA lib calls to avoid multi threads and plugins crash

* Remove TODO

* Enable sync for GNA1

* Fix GNA1 sync

* Add core_threading_tests to GNA Plugin to address story 31709

* Disable and change test description
This commit is contained in:
Krzysztof Bruniecki
2020-10-19 11:21:01 +02:00
committed by GitHub
parent 3c5aefb427
commit e1428ecf1d
4 changed files with 34 additions and 1 deletions

View File

@@ -117,7 +117,7 @@ TEST_F(CoreThreadingTests, RegisterPlugins) {
}
// tested function: GetAvailableDevices, UnregisterPlugin
// TODO: some plugins initialization (e.g. GNA) failed during such stress-test scenario
// TODO: some initialization (e.g. thread/dlopen) sporadically fails during such stress-test scenario
TEST_F(CoreThreadingTests, DISABLED_GetAvailableDevices) {
InferenceEngine::Core ie;
runParallel([&] () {

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2020 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include <behavior/core_threading_tests.hpp>
namespace {
Params params[] = {
std::tuple<Device, Config>{ CommonTestUtils::DEVICE_GNA, {{ CONFIG_KEY(PERF_COUNT), CONFIG_VALUE(YES) }}},
std::tuple<Device, Config>{ CommonTestUtils::DEVICE_HETERO, {{ "TARGET_FALLBACK", CommonTestUtils::DEVICE_GNA }}},
std::tuple<Device, Config>{ CommonTestUtils::DEVICE_MULTI, {{ MULTI_CONFIG_KEY(DEVICE_PRIORITIES), CommonTestUtils::DEVICE_GNA }}},
};
} // namespace
INSTANTIATE_TEST_CASE_P(GNA, CoreThreadingTests, testing::ValuesIn(params), CoreThreadingTests::getTestCaseName);
INSTANTIATE_TEST_CASE_P(DISABLED_GNA, CoreThreadingTestsWithIterations,
testing::Combine(testing::ValuesIn(params),
testing::Values(2),
testing::Values(2)),
CoreThreadingTestsWithIterations::getTestCaseName);