Skip to content

[Bug][VM] Performance degradation of non_max_suppression layer on VM #15405

Description

@echuraev

non_max_suppression works much faster on GraphExecutor in comparison with VirtualMachine.

Expected behavior

I suppose that the performance should be the same for VM and GE.

Actual behavior

On my CPU (Intel Core i7-7700K) non_max_suppression works 3 times slower on VM (1066.29 ms) vs GE (359.79 ms).
Tried to analyze this problem by using VTune Amplifier. And saw that about 70% of the execution time some work was done in lib.so (the name of the compiled model).
image

In GE we don't have such overhead.

Environment

Linux OS, latest mainline.

Steps to reproduce

You can use the following script to reproduce this problem. I changed its extension to .txt because .py file cannot be uploaded to GitHub.
reproducer.txt

On the top of the source code, you can change the value of variable USE_VM to specify if the layer should be inferred on VM or on GE.

Triage

Please refer to the list of label tags here to find the relevant tags and add them below in a bullet format (example below).

  • flow:vm

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    flow:vmneeds-triagePRs or issues that need to be investigated by maintainers to find the right assignees to address ittype: bug

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions