Skip to content

[Good First Issue] [ARM]: Implement CPU plugin just-in-time emitter for Power operation #29366

@a-sidorova

Description

@a-sidorova

Context

JIT Emitters are part of code generation feature (a.k.a. tensor compiler) that automatically produces highly-efficient optimized fused subgraph binary code. Each emitter implements specific operation from low level OpenVINO dialect.

Prerequisites

Recommended to use ARM CPU based platform for development (e.g. Mac, Raspberry Pi etc). Emulators (e.g. QEMU) is still an option, but not that convenient, especially for final performance evaluation.

What needs to be done?

Before emitter implementation, please, modify tests to be sure that developed functionality is covered by test:

  • Add jit kernel check in eltwise test, the test must fail.

Tests

Tests are disabled in default build, so ensure to add -DENABLE_TESTS=ON into cmake command.

GoogleTest is used for testing. CPU functional test target is ov_cpu_func_tests. You can use GoogleTest filter:

./bin/[platform]/[build_type]/ov_cpu_func_tests --gtest_filter="*smoke*Eltwise*Pow*"

Examples

  • PR with Abs operation support: [CPU] [ARM64] jit abs #23692
  • Implementation of jit_power_dynamic_emitter for x64 platforms: link.
  • Implementation of jit_power_static_emitter for ARM64 platforms that already emits binary function call of powf in some corner cases: link.

Resources

Contact points

@a-sidorova, @dmitry-gorokhov

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Closed

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions