Skip to content

G-API: Desync -- fix the queue saturation problem#18719

Merged
opencv-pushbot merged 1 commit intoopencv:masterfrom
dmatveev:dm/upstream_desync_fix
Nov 5, 2020
Merged

G-API: Desync -- fix the queue saturation problem#18719
opencv-pushbot merged 1 commit intoopencv:masterfrom
dmatveev:dm/upstream_desync_fix

Conversation

@dmatveev
Copy link
Copy Markdown
Contributor

@dmatveev dmatveev commented Nov 3, 2020

Set queue size = 1 to Copy island right after the desync.
In this case, Copy won't read more data from a "last_written"
container than required, while feeding the desynchronized path.

Sometimes Copy don't get fused into an island and behaves
on its own -- in this case, it reads more data in advance
so the slow (desync) part actually processes some data in-sync
(more than actually required)

force_builders=Custom,Custom Win,Custom Mac
build_gapi_standalone:Linux x64=ade-0.1.1f
build_gapi_standalone:Win64=ade-0.1.1f
build_gapi_standalone:Mac=ade-0.1.1f
build_gapi_standalone:Linux x64 Debug=ade-0.1.1f

Xbuild_image:Custom=centos:7
Xbuildworker:Custom=linux-1
build_gapi_standalone:Custom=ade-0.1.1f

build_image:Custom=ubuntu-openvino-2020.4.0:16.04
build_image:Custom Win=openvino-2020.4.0
build_image:Custom Mac=openvino-2020.4.0

test_modules:Custom=gapi
test_modules:Custom Win=gapi
test_modules:Custom Mac=gapi

buildworker:Custom=linux-1
# disabled due high memory usage: test_opencl:Custom=ON
test_opencl:Custom=OFF
test_bigdata:Custom=1
test_filter:Custom=*

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or other license that is incompatible with OpenCV
  • The PR is proposed to proper branch
  • There is reference to original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake

@dmatveev dmatveev added this to the 4.5.1 milestone Nov 3, 2020
@dmatveev dmatveev self-assigned this Nov 3, 2020
Copy link
Copy Markdown
Contributor

@rgarnov rgarnov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Set queue size = 1 to Copy island right after the desync.
In this case, Copy won't read more data from a "last_written"
container than required, while feeding the desynchronized path.

Sometimes Copy don't get fused into an island and behaves
on its own -- in this case, it reads more data in advance
so the slow (desync) part actually processes some data in-sync
(more than actually required)
@dmatveev dmatveev force-pushed the dm/upstream_desync_fix branch from 743395c to 099ad1a Compare November 3, 2020 11:30
@dmatveev dmatveev requested a review from mpashchenkov November 3, 2020 12:51
@dmatveev
Copy link
Copy Markdown
Contributor Author

dmatveev commented Nov 3, 2020

Added @mpashchenkov to review

@dmatveev
Copy link
Copy Markdown
Contributor Author

dmatveev commented Nov 3, 2020

@TolyaTalamanov @mpashchenkov anything from your end folks? This thing needs to be merged soon.

@alalek alalek assigned rgarnov and unassigned dmatveev Nov 5, 2020
@opencv-pushbot opencv-pushbot merged commit 07736c9 into opencv:master Nov 5, 2020
@dmatveev
Copy link
Copy Markdown
Contributor Author

dmatveev commented Nov 5, 2020

Great, thanks!

@alalek alalek mentioned this pull request Nov 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants