[Good First Issue] [ARM]: Implement CPU plugin just-in-time emitter for Round operation #27668
Labels
category: CPU
OpenVINO CPU plugin
good first issue
Good for newcomers
platform: arm
OpenVINO on ARM / ARM64
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?
fp32
Round operation JIT emitter for ARM64 SIMD platform. Use OpenVINO CPU plugin JIT emitters documentation and Arm A-profile A64 Instruction Set Architecture documentation for details. Notice that the opRound
has two modes of rounding:half_to_even
andhalf_away_from_zero
. The JIT emitter should support the both modes.Before emitter implementation, please, modify tests to be sure that developed functionality is covered by test:
jit
kernel check in activation test, the test must fail.RoundHalfToEven
andRoundHalfAwayFromZero
) in CPU activation test instantiation if it's absent.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*Activation*Round*"
Example Pull Requests
Resources
Contact points
@a-sidorova, @dmitry-gorokhov
The text was updated successfully, but these errors were encountered: