Commit Graph

33 Commits

Author SHA1 Message Date
Zlobin Vladimir
787ba3de4f replace benchmark_app imean and iscale parameters (#14621)
* replace benchmark_app imean and iscale parameters

Tickets 80777 and 80900

* Warn about difference with imean and iscale, note that in help

* Clang format

* Clang format

* mean->scale

* Keep mean scale empty if not set

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2022-12-19 09:27:39 +04:00
Ilya Lavrenov
3ec084074a RPM packages improvements: part 2 (#14306)
* Updated install_dependencies.sh

* Added Fedora support

* Improvements for RPM generation

* Refactored work with gflags

* Apply suggestions from code review

* Improvements

* Several improvements for Ubuntu 18.04

* Improvements in gflags

* Update thirdparty/CMakeLists.txt

temporary install samples dependencies

* Fixed several mistakes

* Fixed issues with gflags

* Don't install dependencies on Linux

* Added nlohmann findinds on debian9 case

* Added FATAL_ERROR is gflags is not found in samples

* Fixes for samples on CentOS 7

* Cross-compiled debian packakges with proper libraries location

* Fixed include for old nlohman-json versions

* Fixed compilation with old json

* Applied review comments

* Added support of old nlohmann versions via submodule

* Temporary WA for CentOS 7

* Fixed compilation with old gflags

* Fixed compilation of C samples

* Fixed gflags on RHEL8.2 / Debian 9
2022-12-01 23:57:23 +04:00
Zlobin Vladimir
c09af40b4c No-break space->space, asssuming->assuming (#14276)
* No-break space->space, asssuming->assuming

* benchmark_app: don't print warning each iteration

* Russian с->English c

* Warn no batch only once

* Allow anonymus namespaces

* Keep only one report of model bach size, warn_if_no_batch for static model as well
2022-11-30 11:25:16 +00:00
Wang, Yang
a37723e8cf [AUTO] Enable Benchmark APP to parse the ov::device::properties through dump_config()/load_config() (#14057)
* [AUTO] update property setting logic.

* Update core::set_property() logic to only support primary property for AUTO and MULTI.
* Separate AUTO and MULTI supported properties.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Add test case.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* 1. revert the changes for ie core.
2. Enable AUTO/MULTI only accepting its own properties.
3. Enable AUTO/MULTI accepting device properties passed from loadnetwork().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Revert "[AUTO]Update the incorrect config test for Myriad (#13271)"

This reverts commit 0552d98802.

* MULTI only accepts its own properties that is same as AUTO currently.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Add test cases for AUTO/MULTI property test.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update to enable MULTI supporting hw primary property setting throw the compile_model().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Remove the added test case for setting secondary property through set_property().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* 1. For AUTO/MULTI, property setting will be passed via core::compile_model() instead of core::set_property().
2. update the logic to infer precision setting that will transform into secondary property setting to each hw device.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* set default value for nstreams when -d AUTO/MULTI and no nstreams setting from command line.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update code format.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Enable BA to support if -d AUTO:MULTI,xxx/MULTI:AUTO,xxx. while AUTO Plugin need to update the logic of generating supported config list to virtual device.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* move device configuration handling outside form function main.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Revert "move device configuration handling outside form function main."

This reverts commit ef77bfc602.

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Setting property performance hint to 'THROUGHPUT' and passing to executable network if no setting for of AUTO/MULTI.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

* 1. Fix the issue that the dumped configuration file retrieves empty config list when using OpenCV to dump configuration.
2. Enable load_config() to load secondary property.
3.  ov:device:properties from command line will replace the ov::device::properties loaded from configuration file.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update the performance statistics showing format.

* Update format.

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update README to add some simple configuration files loaded into benchmark app.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* 1. Enable dump/load function for AUTO to support hw device property setting thorugh configuration JSON.
2. Update README.md to example a simple JSON file containing the hw device properties setting for AUTO/MULTI.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

* Update.

* Update.

* Drop the changes within dump/load of OpenCV config parsing.

* Update.

* Correct property name. Update ov::num_stream to ov::inference_precision.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>
2022-11-28 17:09:51 +04:00
Zlobin Vladimir
8d5df45d9f benchmark_app: reuse shapes string representation (#13783) 2022-11-23 13:19:26 +04:00
Wang, Yang
678b90a661 [AUTO] Update property setting rules (#13848)
* [AUTO] update property setting logic.

* Update core::set_property() logic to only support primary property for AUTO and MULTI.
* Separate AUTO and MULTI supported properties.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Add test case.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* 1. revert the changes for ie core.
2. Enable AUTO/MULTI only accepting its own properties.
3. Enable AUTO/MULTI accepting device properties passed from loadnetwork().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Revert "[AUTO]Update the incorrect config test for Myriad (#13271)"

This reverts commit 0552d98802.

* MULTI only accepts its own properties that is same as AUTO currently.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Add test cases for AUTO/MULTI property test.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update to enable MULTI supporting hw primary property setting throw the compile_model().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Remove the added test case for setting secondary property through set_property().

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* 1. For AUTO/MULTI, property setting will be passed via core::compile_model() instead of core::set_property().
2. update the logic to infer precision setting that will transform into secondary property setting to each hw device.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* set default value for nstreams when -d AUTO/MULTI and no nstreams setting from command line.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update code format.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Enable BA to support if -d AUTO:MULTI,xxx/MULTI:AUTO,xxx. while AUTO Plugin need to update the logic of generating supported config list to virtual device.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* move device configuration handling outside form function main.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Revert "move device configuration handling outside form function main."

This reverts commit ef77bfc602.

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Setting property performance hint to 'THROUGHPUT' and passing to executable network if no setting for of AUTO/MULTI.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
2022-11-17 16:38:47 +08:00
Piotr Krzemiński
d951623027 [BENCHMARK_APP/PYTHON/CPP] Align benchmark_app output across languages (#12814)
* [PYTHON] Pipeline transfer

* [PYTHON] Align python benchmark

* [PYTHON] Align last step

* [PYTHON] Fix innacuracies of the last step - median

* [PYTHON/CPP] Add Core::get_version method to python API, refactor Ben benchmark to print version with this func

* [PYTHON] Remove get_version_string from API

* [PYTHON/CPP] Align output for model input/output info

* [PYTHON/CPP] Step 4,6 alignment of outputs, step 8 dumps all info stored in config parameters

* [CPP] Fix a bug causing nstreams parameter to never be set to AUTO in CPP benchmark_app

* [CPP] Fix clang format errors

* [CPP] Modify print order and data output for 8th step

* [PYTHON] Add verification checks from C++, modify set_thoughtput_streams to match documentation

* [CPP] Revert changes to C++ benchmark_app

* [CPP] Remove additional spacebar

* Update submodules versions on remote

* Update module from master branch

* Redownload submodules from master and override changes from commit

* [PYTHON] Remove unneccesary parse_status from validation function

* [PYTHON] Check for HINT in map, fix circular import

* [PYTHON] Remove artifacts from commit, fix args.perf_hint set to '' instead to 'none'

* [PYTHON] Reverse changes to perf hint, add key in map check, fix validation function throwing error on set hint

* [PYTHON] Fix linter

* [PYTHON] Remove linter spacebar

* [CPP] Fix wait_all exception throw

* [CPP/PYTHON] Clean artifacts and unwanted changes from work process

* [PYTHON] Fix artifacts from merge, clean submodule update

* [C++ CPU] Fix device name string by removing padding NULL characters from the back

* [CPP] Fix ba infer_request_wrap in other throw-catch clauses

* [PYTHON/CPP] Fix missing latencies in final step for shape group, fix minor misaligned messages, add missing report parameter create infer requests time

* [CPP] Clang fix formatting

* [CPP] Reverse clang fix format on plugin.cpp

* [PYTHON/CPP] Fix C++ progressbar printing endl when disabled, fix rounding in python creating infer request message

* [CPP] Fix foramtiing error

* [PYTHON/C++] Refactor network to model based on naming conventions, provide fresh README output example

* [PYTHON/C++] Add example output to C++ README, remove unnecessary device loop

* [BENCHMARK_APP/C++] Fix artifact from refactoring, remove try-catch clause

* Update samples/cpp/benchmark_app/benchmark_app.hpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update tools/benchmark_tool/openvino/tools/benchmark/main.py

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* [CPP] Fix clang errors

* [CPP/PLUGIN Reverse modification to extract to separate task

* Update tools/benchmark_tool/openvino/tools/benchmark/main.py

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update tools/benchmark_tool/openvino/tools/benchmark/parameters.py

Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>

* Update tools/benchmark_tool/openvino/tools/benchmark/utils/utils.py

Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>

* Update tools/benchmark_tool/openvino/tools/benchmark/main.py

Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>

* [PYTHON/C++/BENCHMARK_APP] Fix language inconsistencies, remove unnecessary checks

* Update pyopenvino.cpp

* [CPP/BENCHMARK_APP] Remove unnecessary try-catch, fix linter errors

* [PYTHON/CPP/BENCHMARK_APP] Revert changes to Core, align version prints usin only provided methods

* [DOCS/BENCHMARK_APP] Update README with proper model examples

* Update README.md

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>
2022-11-14 14:10:36 +01:00
Wang, Yang
d72e39d8f3 [AUTO plugin] Fix benchmark failed to set nstreams on MULTI plugin (#12855)
* fix benchmark filed to pass on MULTI device when enable num_streams.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Remove part of test cases because MULTI plguin will not check if the unspported property is valid now.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Remove some incorrect config for MULTI test case since MULTI will pass through those unrecognized config without any exception.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Support MULTI to set nstreams to multi target devices by using ov::device:properties.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Support AUTO to set nstreams with multi target devices bu using ov:device::properties.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update format.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2022-09-27 23:42:40 +08:00
Wang, Yang
93509147d5 [AUTO] Update logic of setting TPUT by default for MULTI and AUTO. (#12279)
* update logic of setting TPUT by default for MULTI and AUTO.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Set config to MULTI instaed of target device when using -d MULTI:target_device in benchmark app.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update logit to check if perfomance hint is set.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update test cases.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Set the correct _so from passthrough executable network when batch plugin is disabel to fix lifecycle coredump.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Same update for AUTO plugin

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2022-08-26 17:31:22 +08:00
Fedor Zharinov
1315cfaa64 Add CHW/HWC heuristics for tensors with 3 dimensions (#10817) 2022-03-23 16:54:56 +03:00
Fedor Zharinov
043a773f61 [Benchmark_app]Check all I/O names (#10745)
* Check all I/O names

* stylefix
2022-03-04 09:49:03 +03:00
Fedor Zharinov
75cca1e9e9 [benchamrk_app] error if -b is set but there's no batch info (#10592)
* Added code showing error message if -b is provided, but got no batch info for inputs

* stylefix / batch>1 case
2022-02-23 01:30:08 +03:00
Xuejun Zhai
2ac15eae3d [CVS-78727] bug fix for -d AUTO:CPU,GPU the return device should be AUTO only (#10417)
Signed-off-by: xuejun <xuejun.zhai@intel.com>
2022-02-18 09:56:56 +03:00
Fedor Zharinov
00abcbacc4 Fix for Layout and image_info related issues (#10258)
* bugfix78627

* stylefix

* fix
2022-02-17 00:42:51 +03:00
bell
f75e50cc88 limit gpu compiling threads (#10349)
* limit gpu compiling threads

Signed-off-by: fishbell <bell.song@intel.com>

* switch to 2.0

Signed-off-by: fishbell <bell.song@intel.com>

* clang format

Signed-off-by: fishbell <bell.song@intel.com>
2022-02-15 08:52:49 +03:00
Anton Pankratov
1621a5a0b5 Used new config for streams and threads (#10150)
* Used new config for streams and threads

* Fixed review coments in ba

* format fix

* fixed hello_query_device

* Added STL string io

* fixed tests

* Fixed test

* Fixed build

* fixed format

* Fixed build

* try fix win

* other any io specialization

* Fixed after merge

* renamed streams

* build fixed

* fixed build

* fixed format

* fix for old mac build

* Fixed type of exception

* test fix
2022-02-11 09:22:45 +03:00
Alexandra Sidorova
57b08583cc [Benchmark] Align comments with command argument 'data_shape' (#9897) 2022-02-07 13:31:38 +03:00
Fedor Zharinov
c848e55f5e Benchmark_app: Command line args processing is modified to use both tensor and corresponding node names (#9968)
* Node/name conversions

* stylefix
2022-02-01 16:05:00 +03:00
Anton Pankratov
f45991bd64 OV 2.0 c++ configuration API (#9870)
* New configuration API

* Review fix

* review coments

* fixed device name map

* fixed header

* code stile

* fixed optimization capabilities

* flatten properties

* dox fix

* doc

* merge conflicts

* fixed merge conflicts

* Fixed subobject linkage warning

* foramt fix

* Fixed unity test build

* Merge conflict fixes

* Fixed variadic
2022-01-25 12:43:56 +03:00
Alexander Zhogov
6c2d1e923c Revert "OV2.0 c++ configuration API (#9829)" (#9860)
This reverts commit 50da8c4aed.
2022-01-24 11:29:09 +03:00
Anton Pankratov
50da8c4aed OV2.0 c++ configuration API (#9829)
* New configuration API

* Review fix

* review coments

* fixed device name map

* fixed header

* code stile

* fixed optimization capabilities

* flatten properties

* dox fix

* doc

* merge conflicts

* fixed merge conflicts

* Fixed subobject linkage warning

* foramt fix
2022-01-21 18:44:41 +03:00
Alexander Zhogov
79ff926b6d Revert "OpenVINO runtime Configuration API (#7750)" (#9828)
This reverts commit 400e9ad916.
2022-01-21 13:30:39 +03:00
Anton Pankratov
400e9ad916 OpenVINO runtime Configuration API (#7750)
* New configuration API

* Review fix

* review coments

* fixed device name map

* fixed header

* code stile

* fixed optimization capabilities

* flatten properties

* dox fix

* doc

* merge conflicts

* fixed merge conflicts
2022-01-21 10:32:57 +03:00
Maxim Gordeev
ec3283ebe1 [IE SAMPLES] activated NCC tool for c++ samples (#9600)
* [IE SAMPLES] activated NCC tool for c++ samples

* exclude ov_ncc_naming_style for tests

* fixed NCC hit

* Added support for source files in samples

* changed style of methods for benchmark

* changed style for speech sample

* changed code style

* changed code style for shared_tensor

* benchmark changes

* changed remote_tensors_filling

* fixed notes

* rebase of branch
2022-01-19 01:08:07 +03:00
Alexey Suhov
a79830cb55 Update year to 2022 in copyright notice (#9755) 2022-01-19 01:07:49 +03:00
Fedor Zharinov
14f8614da6 Benchmarkapp: Added processing of inputs/outputs by index (#9703)
* Added processing of inputs/outputs by index

* fix

* All tensor's get_friendly_name are replaced with get_any_name

* stylefix
2022-01-18 13:40:54 +03:00
Ivan Vikhrev
a2cf98bebb [IE Samples] json configuration reader and dumper for benchmark_app (#9648)
* added load_config and dump_config functions implemented with json library

* add warning, upd readme

* Update samples/cpp/benchmark_app/README.md

Co-authored-by: Fedor Zharinov <fedor.zharinov@intel.com>

Co-authored-by: Fedor Zharinov <fedor.zharinov@intel.com>
2022-01-18 11:22:47 +03:00
Fedor Zharinov
6c69535d6c Benchmark_app batch calculation fix (#9554)
* BenchmarkApp - batch size calculation fix

* stylefix

* -ip/op fix

* stylefix
2022-01-13 23:34:38 +03:00
Fedor Zharinov
4dbc9ae2e7 benchmark_app with dynamic reshapes and API 2.0 (#8609)
* API 2.0 changes

* stylefix

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>

* Update samples/cpp/benchmark_app/infer_request_wrap.hpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* Update samples/cpp/benchmark_app/utils.cpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* fixes

* fix for: gpu headers are moved to another folder... yet again

* fix for mac build paranoia

* function,classes and files renames/change logic to work with inputs()

* stylefix

* 2nd portion of fixes

* stylefix

* Batch warnings

Co-authored-by: Nadezhda Ageeva <nkogteva@gmail.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
2021-12-30 19:09:12 +03:00
Maxim Shevtsov
49b5e5728b Auto Batching impl (#7883)
* 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>
2021-12-24 12:55:22 +03:00
Fedor Zharinov
e9874ec1d4 Dynamic reshapes (#7788)
* Merged and compiling

* Fix for dynamic shape type

* review fixes

* renamed blob shape to tensor shape, small improvements

* fix code style

* added parsing of multiple shapes

* store latency per group, add isIdleRequestAvailable() to Infer Queue

* added cached random inputs

* redesign pipeline, added new metrics(avg, max, min), added metrics per groups

* fixed code style

* small improvements

* modified tensor parameters parsing

* modified -i parameter parsing: added possibility to specify input names

* implemented image cashing

* added cashed blobs creating

* added -pcseq flag, modified batch filling, changes fps formula

* improvements

* code formatting

* code formatting2

* apply suggestions from review

* replaced Buffer class with InferenceEngine Blobs

* use batch size in blobs filling

* added shared blob allocator to handle blob's data

* fixed warnings & code style

* allocate blobs

* fix for networks with image info input

* added comments & fixed codestyle

* clear data in free() in SharedBlobAllocator

* remove unnecessary check

* Delimeter is changed to ::

* stylefix

* added layout from string function, small improvements

* modified parsing to enable : in input parameters

* small fixes

* small fixes

* added missed blob allocation, fixes

* [TEST]added support for remote blobs

* fix remote blobs

* new inputs/files output format

* removed vectors resize which caused bugs

* made cl::Buffer type under ifdef, fix inputs filling

* changed batch() function to not throwing exceptions

* removed unused var

* fix code style

* replace empty name in input files with name from net input

* restored old behaviour for static models

* fix code style

* fix warning - made const iterator

* fix warning - remove reference in loop variable

* added random and image_info input types to -i, fix problem with layout

* replaced batch() with getBatchSize() in main

* fix layout, shape, tensor shape parameters parsing

* upd help messages for input, tensor shape and pcseq command

* added buffer for cl output blobs, small fixes

Signed-off-by: ivikhrev <ivan.vikhrev@intel.com>

* added legacy mode

* restore setBlob

* code style formatting

* move collecting latency for groups under flag

* removed not applicable layouts

* added hint to error message when wrong input name in -tensor_shape was specified

* added new metrics to statistics report

* Apply suggestions from code review

* fix binary blobs filling when layout is CN

* apply suggestions

* moved file in the right place after rebase

* improved -pcseq output

* updated args and readme

* removed TEMPLATE plugin registration

* fix -shape arg  decsription

* enable providing several -i args as input

* renamed legacy_mode to inference_only and made it default for static models, renamed tensor_shape to data_shape

* upd readme

* use getBlob() in inference only mode

* fix old input type for static case

* fix typo

* upd readme

* move log about benchmark mode to the measuring perfomance step

* added class for latency metrics

* upd readme, fix typos, renamed funcs

* fix warning and upd parsing to avoid error with : in file paths

* fix error on centos : error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)

* added check for key in inputs

* renamed input to inputs

* adjust batch size for binary blobs

* replaced warning with exception in bench mode defining

* align measurement cycle with master

Co-authored-by: ivikhrev <ivan.vikhrev@intel.com>
2021-12-17 12:20:43 +03:00
Vladimir Dudnik
5b25dbee22 ov2.0 IE samples modification (#8340)
* ov2.0 IE samples modification

apply code style

turn off clang style check for headers order

unify samples a bit

add yuv nv12 reader to format_reader, helloe_nv112 sample

hello_reshape_ssd ov2.0

* sync with PR 8629 preprocessing api changes

* fix for slog << vector<int>

* add operator<< for ov::Version from PR-8687

* Update samples/cpp/hello_nv12_input_classification/main.cpp

Co-authored-by: Mikhail Nosov <mikhail.nosov@intel.com>

* apply code style

* change according to review comments

* add const qualifier

* apply code style

* std::ostream for old inference engine version to make VPU plugin tests happy

* apply code style

* revert changes in print version for old api samples

* keep inference_engine.hpp for not ov2.0 yet samples

* fix merge artifacts

* fix compilation

* apply code style

* Fixed classification sample test

* Revert changes in hello_reshape_ssd sample

* rebase to master, sync with PR-9054

* fix issues found by C++ tests

* rebased and sync with PR-9051

* fix test result parsers for classification tests (except unicode one)

* fix mismatches after merge

* rebase and sync with PR-9144

Co-authored-by: Mikhail Nosov <mikhail.nosov@intel.com>
Co-authored-by: antonrom23 <anton.romanov@intel.com>
2021-12-13 11:30:58 +03:00
Ilya Churaev
f639e4e902 Moved inference_engine samples to cpp folder (#8615)
* Moved inference_engine samples to cpp folder

* Fixed documentations links

* Fixed installation

* Fixed scripts

* Fixed cmake script

* Try to fix install

* Fixed samples

* Some fix
2021-11-18 10:08:20 +03:00