Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snippets] Transpose support #13870

Closed

Conversation

IvanNovoselov
Copy link
Contributor

Details:

  • Support 0,2,3,1 Transpose tokenization and code generation
  • Transpose is decomposed into Load + Store pair wrapped with 2 scalar loops

Tickets:

  • 94689

@IvanNovoselov IvanNovoselov requested review from a team as code owners November 4, 2022 17:03
@IvanNovoselov IvanNovoselov added the category: CPU OpenVINO CPU plugin label Nov 4, 2022
@IvanNovoselov IvanNovoselov added this to the 2022.3 milestone Nov 4, 2022
@IvanNovoselov IvanNovoselov force-pushed the sns_transpose_support branch 2 times, most recently from 87df541 to b437d7a Compare November 7, 2022 19:03
@dmitry-gorokhov
Copy link
Contributor

@a-sidorova Please start the review

@IvanNovoselov IvanNovoselov force-pushed the sns_transpose_support branch 2 times, most recently from 5ead348 to 953fcb0 Compare November 8, 2022 18:58
src/common/snippets/src/op/load.cpp Outdated Show resolved Hide resolved
src/common/snippets/src/op/load.cpp Show resolved Hide resolved
src/common/snippets/src/op/subgraph.cpp Outdated Show resolved Hide resolved
src/common/snippets/src/op/subgraph.cpp Outdated Show resolved Hide resolved
src/common/snippets/src/op/subgraph.cpp Show resolved Hide resolved
src/common/snippets/src/pass/collapse_subgraph.cpp Outdated Show resolved Hide resolved
src/common/snippets/src/pass/collapse_subgraph.cpp Outdated Show resolved Hide resolved
@IvanNovoselov IvanNovoselov force-pushed the sns_transpose_support branch 4 times, most recently from d783853 to ab174b8 Compare November 10, 2022 16:16
@dmitry-gorokhov dmitry-gorokhov removed this from the 2022.3 milestone Nov 16, 2022
@IvanNovoselov IvanNovoselov force-pushed the sns_transpose_support branch 2 times, most recently from cb8a440 to 2e38d9c Compare November 16, 2022 17:33
const auto num_params = num_inputs + num_outputs;
// The number of used gpr may be >= num_params since LoopBegin+LoopEnd could also use gpr to store work_amount
if (data_ptr_regs_idx.size() != num_params)
IE_THROW() << "KernelEmitter arguments are inconsistent with the gpr_regs_used size: in[0] + in[1] = "
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like that we should change exception message now after refactoring :)
Because at the moment count of parameters and results we get inside KernelEmitter ctor (not parameters)
What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Completely agree, fixed

* [Snippets] Dynamic loop snapshot

* [Snippets] Explicit Loop implementation
@IvanNovoselov
Copy link
Contributor Author

This PR will be merged as a part of a larger one PR#14327

@IvanNovoselov
Copy link
Contributor Author

Closing, since this code was merged on a separate branch

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.

3 participants