[G-API] Support multiple asynchronous requests#19487
Conversation
|
It seems a rebase is required |
|
@TolyaTalamanov can you please rebase to make the changeset clear? |
…port-nireq-option
dmatveev
left a comment
There was a problem hiding this comment.
Reviewed ~40%, but didn't review the actual asynchronous pool part. Please clean-up code first (and, if possible, isolate changes for a single infer only.
| IEConfig config; | ||
|
|
||
| // NB: Number of asyncrhonious infer requests | ||
| size_t nireq; |
There was a problem hiding this comment.
Just wondering why this and the above variables are not initialized by default.
Initially it was just num_in / num_out I've left empty for some reason (as those are always initialized in ctor), but now it doesn't looks so good.
There was a problem hiding this comment.
Didn't get your point, now it is initialized in ctor. What's the problem ?
There was a problem hiding this comment.
The problem is when a new ctor is added (who knows), these fields may left uninitialized
There was a problem hiding this comment.
Partial initialization isn't supported in C++11
2ada749 to
13d7c1b
Compare
13d7c1b to
5db2378
Compare
19be9a6 to
3a97e94
Compare
3a97e94 to
161a880
Compare
dmatveev
left a comment
There was a problem hiding this comment.
Let's setup an overview call tomorrow.
What can be done for sure now is moving the async worker pool into something generic and unit-testable
…port-nireq-option
ff27092 to
115231f
Compare
115231f to
ea0cf6f
Compare
| return requests; | ||
| } | ||
|
|
||
| class cv::gimpl::ie::RequestPool { |
There was a problem hiding this comment.
class cv::gimpl::ie::RequestPool {
struct RequestPool;
Warning on "Custom Win" builder:
C:\build\precommit_custom_windows\opencv\modules\gapi\src\backends\ie\giebackend.cpp(497): warning C4099: 'cv::gimpl::ie::RequestPool': type name first seen using 'struct' now seen using 'class' [C:\build\precommit_custom_windows\build\modules\gapi\opencv_gapi.vcxproj]
"Custom Mac":
/build/precommit_custom_mac/opencv/modules/gapi/src/backends/ie/giebackend.cpp:497:1: warning: 'RequestPool' defined as a class here but previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
…option [G-API] Support multiple asynchronous requests * Support nireq option * Disable tests to check CI * Fix bug with hanging * WA to green CI * Snapshot * Simplify RequestPool * Add default values to id * Fix win warning
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.
Build configuration