* Create separated auto_batch plugin testcase
* Add test sample into azure
* Move to auto_plugin directory
* Fix CI build issues
* move batch test cases from gpu/cpu/template plugin to auto batch plugin
* Check OpenCL to decide whether enable auto_batch gpu test cases
* Revert "move batch test cases from gpu/cpu/template plugin to auto batch plugin"
This reverts commit 9f4f2ce1af.
* Add functional tests for auto_batch
* Runtime check gpu available to decide whether run gpu test cases
* Remove HW plugins from functional test
1. Apply Template plugin for auto_batch functional test
2. Remove unnecessary code
* Restore some original tests
* Apply new api property replace old config
* Solve warning suppressions issue
* Fix CI build error
* Solve CI failure issues
* Fix getOutputsFromFunctionWithSeveralOutputs bug
---------
Co-authored-by: Chen Peter <peter.chen@intel.com>
* Add dependency from ov_plugins.hpp only for files which use it
* Remove rebuild files depends on CI_BUILD_NUMBER changes
* Try to fix static build
* Fixed comments
* Fixed build
* Merged some change
* Try to fix build
* Try to fix nvidia build
* Take LTO value from target property
* Properties improvements: part 2
* Accurate configs handling in HETERO / BATCH
* Align plugins in caching properties
* Fixed caching mock tests
* Added new TestNoCachingProperties test
* Fixed test
* Added ov::caching_properties to API 1.0 metrics as well
* Fixes for HETERO plugin
* Fixed tests
* Even more refactoring in HETERO plugin config management
* Init auto_batch plugin unit test
* Add more mock test
* Add to ci yml file
* Fix clang issue
* Resolve compilation issue
* Fix symbol multiple definition in static build
* Add test cases for AutoBatchInferRequest
* Add test cases for AutoBatchAsyncInferRequest
* qFixed build error after PR-15229
* Resolve blocked issue when call StartAsync test cases
* add more test for auto batch async inference
---------
Co-authored-by: Chen Peter <peter.chen@intel.com>
* remove ... in /src/bindings/c and resolve format
* remove ... in auto and resolve format
* remove ... in auto batch and resolve format
* remove ... in hetero and resolve format
* IE exception
* IE exception
* const
* const
* resolve format and ov::Exception
* ov::Exception
* reset IE::Exception
* remove ov::Exception
* InferenceEngine->IE in auto_schedule.cpp
* fix coredump while runing test case smoke_AutoMultiMock_NumStreamsAndDefaultPerfHintToHWTest
* fix coredump issue of running LoadNetworkWithSecondaryConfigsMockTest
* fix commpile fail in CI
* resolve core dump of running exec_network_get_metrics.cpp and disable some test cases for KEEMBAY and MYRIAD in exec_network_get_metrics.cpp
* remove test cases of MYRIAD and resolve core dump of running KEEMBAYin exec_network_get_metrics.cpp
* resolve conflic of common.h
* resolve conflic of common.h
* resolve common.h complie fail
---------
Co-authored-by: guozhong <guozhong.wang@intel.com>
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
* Added -Wall for Clang and GCC
* Fixes
* Don't use /J
* Fixed warnings
* Fixed warnings
* More fixes
* Fixed for MSVC
* Fixed more warnings on Windows
* Suppressed some warnings in template plugin
* Update src/tests/functional/plugin/shared/include/behavior/plugin/caching_tests.hpp
* Added suppression for PT FE
* Suppressed warnings in TF FE
* Suppressed warnings on Core unit tests
* Suppress warnings in python
* Suppressed Windows warning for 3rd party modules
* Suppresed one more warning
* parent 6e7016ccda
author Ilya Churaev <ilya.churaev@intel.com> 1664281499 +0400
committer Ilya Churaev <ilya.churaev@intel.com> 1664510018 +0400
Fixed warnings on local machine
* Added CMAKE_COMPILE_WARNING_AS_ERROR usage
* Fixed style
* Fixed merge conflicts
* Fixed typo
* Fixed myriad build for macOS
* Fixed warning
* Fixed tests
* Disabled incorrect test
* Try to fix linux tests
* Revert "Try to fix linux tests"
This reverts commit 29224c93ff.
* Fixed tests
* Revert logic with incorrect cast
* Fixed log softmax
* Disable warning as error for cuda
* Try to fix inference_engine_s
* Fixed cmake
* Revert "Fixed cmake"
This reverts commit 87e9e4e674.
* Revert "Try to fix inference_engine_s"
This reverts commit a1adca8b05.
* WA for static symbols in inference_engine_s test library
* Fixed code style
* Fixed static definition for master
* Revert "Fixed static definition for master"
This reverts commit 20d00d215a.
* Revert "Fixed code style"
This reverts commit 0eb2362543.
* Revert "WA for static symbols in inference_engine_s test library"
This reverts commit 75ef86a79d.
* Fixed linker issue for Windows
* Disable WaE by default
* Disable warning as error in the developer package
* Try to fix dev package
* Try to fix Windows Jenkins
* Revert old behavior for tread_warn_as_err variable
* Fixes for cases when TBB_DIR env var is set
* Don't use make in build_samples.sh script
* First version of Windows installer
* WIndows NSIS installer
* Fixed newAPI for case if core was removed
* Fixed code style
* Fixed typo
* Use new API by default
* Create core with template plugin
* Added doxygen comment
* checking the network batchability (internal helper func on top of batch tracking) before doing hetero
* more general logic with respect to batch-ability of the network
* a dynamism check that I've owed from the PR-10560
* using the DO-detached mechanism for early hetero exit, also fixed this flag in the Batching plugin (although minor, as the DO is removed by HETERO)
* adding the dimension tracking logic depending on whether implicitly/expicitly the auto-batching is enabled
* changed the DetectionOutput affinity markup to go over results, also accomodate Convert, so only 2 subgraphs are made by the HETERO
* fixed perf-counters
* explicit auto-batching params that should guarantee the auto-batching is triggered ( to avoid fallback to no-batching when the selected batch1 size is just 1)
* makeConvPoolReluNoReshapes and using that whenever applicable to gaurantee the auto-batching is required (not important for things like plugin/executable-network config tests, but important for the inference-requests)
* getDefaultNGraphFunctionForTheDevice moved to the ov_behavior_test_utils.hpp
* Depricated Any implicit cast
* Fixed test
* fixed gna build
* Fixed warnings in benchmark_app
* Fixed test build
* ncc exception for PrintTo
* Error mesage in test
* Error mesage in test
* fixed build
* moving the HETERO logic to the Auto-Batch (WIP), reverting to the ALLOW_AUTO_BATCHING and using that in the GPU remote tests
* shortned the vars names in the ie_core and prevented recursive auto-batching calls by checking for exclusive requests and disabling further auto-batching in the plugin, when HETERO is involved
* checking for the batch-dim presence (this is still WA until the https://github.com/openvinotoolkit/openvino/pull/9559 is merged) - pls see CVS-75317
+clang for the ie_core.cpp
* moving the HETERO logic back to the ie_core.cpp, storing the _so internally for no-batch code-path
* auto-batching POC squashed (all commits from auto-batch-2021.3 branch)
(cherry picked from commit d7742f2c747bc514a126cc9a4d5b99f0ff5cbbc7)
* applying/accomodating the API changes after rebase to the master
* replaying modified version of actual batch selection
* eearly experiments with model mem footprint
* changes from rebasing to the latest master
* experimenting with DG1 on the batch size selection, also collecting the mem footprint
* WIP:moving the auto-batching to the icore to let the MULT/AUTO support that, ALLOW_AUTO_BATCHING as a conventional config key. still fials hot device swap
* quick-n-dirty batch footpint vs device total mem
* code style
* testing which models perform badly due to kernels and NOT (batched) footprint
* stub pipeline task to comunicate the readiness rather than promise/future
* quick-n-dirty timeout impl
* explicit _completionTasks,reverting BA to use the timeout
* inputs outputs copies, works with AUTO and demo now
* accomodate the config per device-id, after rebase to the latest master
* allowing the auto-batching only with tput hint to let more conventional tests pass
* fix the pre-mature timeout restaring via waiting for batch1 requests completion
* moved the bacthed request statring ( along with input copies) to the dedicated thread
* [IE CLDNN] Disable bs_fs_yx_bsv16_fsv16 format for int8 convolution
* code style
* increasing the timeout to test the ssd_* models perf (timeout?) issues
* reducing number of output stuff in BA to avoid bloating the logs in experiments
* more aggressive batching for experiments, not limited to 32 and also 4 as a min
* more accurate timeout debugging info
* getting the reqs limitation from the plugin SetConfig as well
* refactor the reshape logic a bit to accomodate CPU for bathcing, also added remeote context
* let the benchamrk_app to consume specific batch values for the auto-batching such as BATCH:GPU(4)
* auto-batching functional test (with results check vs ref) and GPU instance for that
* fixed arithemtic on blobs ptrs
* clang
* handling possible batched network failure
* BATCH as the constants device name in test
* ENABLE_BATCH
* func tests for CPU, also DetectionOutput hetero tests (CPU and GPU)
* DetectionOutput hetero test for the CPU
* reenabling the Auto-Batching in the AUTO
* auto-batching device enabled in the test
* fixed the DO test
* improve the loading loop logic
* brushed the config keys
* allow hetero code-path for explicit device name like BATCH:GPU(4), used in the hetero code-path tests
* fix the test after refactoring
* clang
* moving ThreadSafeQueue to the ie_parallel, as it is re-used in the AUTO/MULTI and BATCH now
* auto-batching hetero test (subgraph with DetectionOutput)
* fixed minor changes that were result of experiments with impl
* code-style
* brushing, disabling CPU's HETERO tests until planned activity for 22.2
* removing home-baked MAX_BATCH_SZIE and swicthing to the official impl by GPU team
* remote blobs tests for the auto-batching (old API)
* brushed names a bit
* CreateContext and LoadNEtwork with context for the Auto-Batching plus remote-blobs tests
* fixed the ieUnitTests with adding CreateContext stub to the MockICore
* clang
* improved remote-blobs tests
* revert the back BA from exeprimenents with AB + device_use_mem
* conformance tests for BATCH, alos batch size 1 is default for BATCH:DEVICE
* remote blobs 2.0 tests, issue with context having the orig device name
* debugging DG1 perf drop (presumably due to non-fitting the device-mem)
* disbaling WA with batch/=2 for excesive mem footptint, leaving only streams 2
* remote blobs 2.0 tests for different tensor sharing types
* converting assert to throw to accomodate legacy API where the lock() was possible to be called
* revert the timeout back to avoid mixing the studies, fixed the footprint calc
* reverting to estimating the max batch by extrapolating from bacth1 size
* more conservative footptint etimation (with bacth1), graceful bacth 1 handling without duplication
* even graceful batch 1 handling without duplication
* WA for MAX_BATCH_SIZE failure, removing batch4 as a min for the auto-batching
* AutoBatchPlugin -> ov_auto_batch_plugin
* WA for gcc 4.8
* clang
* fix misprint
* fixed errors resulted from recent OV's Variant to Any transition
* skip auto-batching for already-batched networks
* AUTO_BATCH_TIMEOUT and tests
* GPU-specific L3
* switched to pure config, also improved ALLOW_AUTO_BATCHING config key handling logic
* debugging device info
* enabling the config tests for the GPU and fixing the Auto-batching tests to pass
* making the default (when not recognized the driver) cache size more aggressive, to accomodate recent HW with old drivers
* skip auto-batching for RNNs and alikes (e.g. single CHW input)
* fixed fallback to the bacth1 and moved HETERO path under condition to avoid bloating
* brushing
* Auto plugin GetMetric support gpu auto-batch
Signed-off-by: Hu, Yuan2 <yuan2.hu@intel.com>
* add test case
Signed-off-by: Hu, Yuan2 <yuan2.hu@intel.com>
* add comments on test
Signed-off-by: Hu, Yuan2 <yuan2.hu@intel.com>
* brushing the vars names, alos adding the excpetion handling
* disabling the auto-batching for the networks with non-batched outputs and faster-rcnn and alikes (CVS-74085) to minimize the of #failures
* add try catch
Signed-off-by: Hu, Yuan2 <yuan2.hu@intel.com>
* brushing the code changed in the GPU plugin
* Auto-Batch requests tests
* brushed varibles a bit (ref)
* cleaned debug output from the ie_core
* cleaned cmake for the Auto-Batch
* removed batchN estimation from batch1
* cleaned from debug printf
* comments, cleanup
* WA the mock test errors introduced with merging the https://github.com/myshevts/openvino/pull/13
* Adding back removed batchN estimation from batch1 to debug degradations on DG1 (resulted from too optimistic MAX_BATCH_SIZE?). This partially reverts commit e8f1738ac1.
* brushing ie_core.cpp
* fix 32bit compilation
* Code review: ENABLE_AUTO_BATCH
* consolidate the auot-batching logic in ie_core.cpp into single ApplyAutoBAtching
* renamed brushed the OPTIMAL_BATCH (now with_SIZE) and mimicks the MAX_BATCH_SZIE wrt MODEL_PTR
* default value for the OPTIMAL_BATCH_SIZE
* clang
* accomodate new func tests location
* fix shuffle of headers after clang + copyrights
* fixed misprint made during code refactoring
* moving the common therad-safe containers (like ThreadSafeQueue) to the dedicated dev_api header
* switch from the device name to the OPTIMAL_BATCH_SIZE metric presence as a conditin to consider Auto-Batching
* switching from the unsafe size() and minimizing time under lock
* code style
* brushed the ApplyAutoBatching
* brushed the netric/config names and descriptions
* completed the core intergration tests for the auto-batching
* ExecGraphInfo and check for incorrect cfg
* removed explicit dependencies from cmake file of the plugin
* disabling Auto-Batching thru the tput hint (to preserve current product default), only excplicit like BATCH:GPU used in the tests
Co-authored-by: Roman Lyamin <roman.lyamin@intel.com>
Co-authored-by: Hu, Yuan2 <yuan2.hu@intel.com>