From cd8b40d9df90ad45aecef2cd13387a50dd18e659 Mon Sep 17 00:00:00 2001 From: David Svantesson Date: Tue, 2 May 2023 13:05:36 +0000 Subject: Guards to make NEReorder aarch64 only Resolves COMPMID-6151 Signed-off-by: David Svantesson Change-Id: I0e8c957f3460633c32ef57be0cdc44a53b8c3e88 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9553 Reviewed-by: Viet-Hoa Do Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Benchmark: Arm Jenkins --- arm_compute/runtime/NEON/functions/NEReorderLayer.h | 4 ++++ docs/user_guide/release_version_and_change_log.dox | 2 +- src/core/NEON/kernels/NEReorderKernel.cpp | 3 +++ src/core/NEON/kernels/NEReorderKernel.h | 4 ++++ src/runtime/NEON/functions/NEReorderLayer.cpp | 6 +++++- tests/validation/NEON/ReorderLayer.cpp | 4 ++++ 6 files changed, 21 insertions(+), 2 deletions(-) diff --git a/arm_compute/runtime/NEON/functions/NEReorderLayer.h b/arm_compute/runtime/NEON/functions/NEReorderLayer.h index 4d5e3fa850..b8d692ac92 100644 --- a/arm_compute/runtime/NEON/functions/NEReorderLayer.h +++ b/arm_compute/runtime/NEON/functions/NEReorderLayer.h @@ -21,6 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#if defined(__aarch64__) + #ifndef ACL_ARM_COMPUTE_RUNTIME_NEON_FUNCTIONS_NEREORDERLAYER #define ACL_ARM_COMPUTE_RUNTIME_NEON_FUNCTIONS_NEREORDERLAYER @@ -82,3 +84,5 @@ private: }; } // namespace arm_compute #endif /* ACL_ARM_COMPUTE_RUNTIME_NEON_FUNCTIONS_NEREORDERLAYER */ + +#endif // defined(__aarch64__) \ No newline at end of file diff --git a/docs/user_guide/release_version_and_change_log.dox b/docs/user_guide/release_version_and_change_log.dox index f5d362b41d..80cf3ae575 100644 --- a/docs/user_guide/release_version_and_change_log.dox +++ b/docs/user_guide/release_version_and_change_log.dox @@ -44,7 +44,7 @@ v23.05 Public major release - Deprecate dynamic block shape in @ref NEBatchToSpaceLayer - Deprecate dynamic block shape in @ref CLBatchToSpaceLayer - New Arm® Neon™ kernels / functions : - - @ref NEReorderLayer + - NEReorderLayer (aarch64 only) v23.02.1 Public patch release - Allow mismatching data layouts between the source tensor and weights for \link cpu::CpuGemmDirectConv2d CpuGemmDirectConv2d \endlink with fixed format kernels. diff --git a/src/core/NEON/kernels/NEReorderKernel.cpp b/src/core/NEON/kernels/NEReorderKernel.cpp index c09745604f..1a7f58bb08 100644 --- a/src/core/NEON/kernels/NEReorderKernel.cpp +++ b/src/core/NEON/kernels/NEReorderKernel.cpp @@ -21,6 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#if defined(__aarch64__) #include "src/core/NEON/kernels/NEReorderKernel.h" #include "src/common/utils/Log.h" @@ -221,3 +222,5 @@ Status NEReorderKernel::validate(const ITensorInfo *input, const ITensorInfo *ou } } // namespace arm_compute + +#endif // defined(__aarch64__) \ No newline at end of file diff --git a/src/core/NEON/kernels/NEReorderKernel.h b/src/core/NEON/kernels/NEReorderKernel.h index e744ff9e52..07908890f4 100644 --- a/src/core/NEON/kernels/NEReorderKernel.h +++ b/src/core/NEON/kernels/NEReorderKernel.h @@ -21,6 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#if defined(__aarch64__) + #ifndef ACL_SRC_CORE_NEON_KERNELS_NEREORDERKERNEL #define ACL_SRC_CORE_NEON_KERNELS_NEREORDERKERNEL @@ -91,3 +93,5 @@ private: } // namespace arm_compute #endif /* ACL_SRC_CORE_NEON_KERNELS_NEREORDERKERNEL */ + +#endif // defined(__aarch64__) \ No newline at end of file diff --git a/src/runtime/NEON/functions/NEReorderLayer.cpp b/src/runtime/NEON/functions/NEReorderLayer.cpp index f9bbeba90c..53a7718902 100644 --- a/src/runtime/NEON/functions/NEReorderLayer.cpp +++ b/src/runtime/NEON/functions/NEReorderLayer.cpp @@ -21,6 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#if defined(__aarch64__) + #include "arm_compute/runtime/NEON/NEScheduler.h" #include "arm_compute/runtime/NEON/functions/NEReorderLayer.h" @@ -50,4 +52,6 @@ Status NEReorderLayer::validate(const ITensorInfo *input, const ITensorInfo *out return NEReorderKernel::validate(input, output, input_wf, output_wf); } -} // namespace arm_compute \ No newline at end of file +} // namespace arm_compute + +#endif // defined(__aarch64__) \ No newline at end of file diff --git a/tests/validation/NEON/ReorderLayer.cpp b/tests/validation/NEON/ReorderLayer.cpp index 89d860fa4f..cc340e9cb1 100644 --- a/tests/validation/NEON/ReorderLayer.cpp +++ b/tests/validation/NEON/ReorderLayer.cpp @@ -21,6 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#if defined(__aarch64__) + #include "arm_compute/runtime/NEON/functions/NEReorderLayer.h" #include "arm_compute/runtime/Tensor.h" #include "tests/NEON/Accessor.h" @@ -64,3 +66,5 @@ TEST_SUITE_END() // NEON } // namespace validation } // namespace test } // namespace arm_compute + +#endif // defined(__aarch64__) \ No newline at end of file -- cgit v1.2.1