Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6392 Discussions

Outputs get mixed up when using multiple InferRequests with GPU plugin

Senfter__Thomas
Beginner
602 Views

Hello,

when executing multiple InferRequests simultaneously on a network on the GPU, the outputs get mixed up sometimes. There is some code reproducing the issue attached (bug.cpp)

What the Code does:

  1. Create a network with multiple InferRequests, where each InferRequest has the callback set to the same function
  2. Create 13 different inputs
  3. Start an inference whenever an InferRequest is available
  4. In the callback, compare the results with the result of the first inference for the image. If the results do not match, print to which inputs the results would match.

Output explained:

wrong i: 4, b:5, c:6, r:5

means, input is from image 4, output "b" is from image 5, output "c" is from image 6, output "r" is from image 5

This is the problem, we get outputs for another input and even the outputs are mixed up. The problem did not occur with a single InferRequest and also did not occur in CPU mode. It seems to be a race condition as mixed up outputs are rare and occur mostly when InferRequests are executed rapidly.

 

How to reproduce the test:
Run in docker with:

docker run -it --device /dev/dri:/dev/dri -u root -v /tmp/bug/:/bug --rm openvino/ubuntu20_data_dev:latest

Start test application with:

/bug/build/bug

 

Is this problem known? Or is there something we overlooked?

 

Thanks,

Thomas

0 Kudos
2 Replies
Iffa_Intel
Moderator
560 Views

Hi,


I noticed that this issue is similar to this Github case:

https://github.com/openvinotoolkit/openvino/issues/6963



We are investigating this and will further communicate through Github.

Hence, I'm closing this as a duplicate issue.



Sincerely,

Iffa


0 Kudos
Senfter__Thomas
Beginner
557 Views

Hi Iffa,

I did not know which channel you prefer, so I posted the problem here and also created an Github issue. So I guess the Github issue is the preferred way?

Thanks for looking into it.

Thomas

0 Kudos
Reply