From 65f00c41bbe02b03810a8f51b9b461894e02a112 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=84=B8=ED=9D=AC/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Principal=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Mon, 9 Apr 2018 15:49:16 +0900 Subject: [PATCH] Introduce nnfw kernel Initialize (#502) This will introduce initialize function for nnfw acl kernels Signed-off-by: SaeHie Park --- include/kernel/acl/nnfw_kernel_acl.h | 14 ++++++++++++++ src/kernel/acl/CMakeLists.txt | 3 ++- src/kernel/acl/src/Conv2D_acl.test.cpp | 3 +++ src/kernel/acl/src/Init_acl.cpp | 16 ++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 include/kernel/acl/nnfw_kernel_acl.h create mode 100644 src/kernel/acl/src/Init_acl.cpp diff --git a/include/kernel/acl/nnfw_kernel_acl.h b/include/kernel/acl/nnfw_kernel_acl.h new file mode 100644 index 0000000..c7a062c --- /dev/null +++ b/include/kernel/acl/nnfw_kernel_acl.h @@ -0,0 +1,14 @@ +#ifndef __NNFW_KERNEL_ACL_H__ +#define __NNFW_KERNEL_ACL_H__ + +namespace nnfw { +namespace kernel { +namespace acl { + +void Initialize(void); + +} // namespace acl +} // namespace kernel +} // namespace nnfw + +#endif // __NNFW_KERNEL_ACL_H__ diff --git a/src/kernel/acl/CMakeLists.txt b/src/kernel/acl/CMakeLists.txt index 6263b82..74a93f2 100644 --- a/src/kernel/acl/CMakeLists.txt +++ b/src/kernel/acl/CMakeLists.txt @@ -28,7 +28,8 @@ set(GTEST_LIBS libgtest.a libgtest_main.a pthread) link_directories(${CMAKE_INSTALL_PREFIX}/lib) # kernel library -set(KERNELACL_SRCS "src/Conv2D_acl.cpp" +set(KERNELACL_SRCS "src/Init_acl.cpp" + "src/Conv2D_acl.cpp" ) add_library(${LIB_KERNELACL} SHARED ${KERNELACL_SRCS}) diff --git a/src/kernel/acl/src/Conv2D_acl.test.cpp b/src/kernel/acl/src/Conv2D_acl.test.cpp index 2dd1d1d..19589b7 100644 --- a/src/kernel/acl/src/Conv2D_acl.test.cpp +++ b/src/kernel/acl/src/Conv2D_acl.test.cpp @@ -1,5 +1,6 @@ #include "gtest/gtest.h" #include "OperationsUtils.h" +#include namespace nnfw { namespace kernel { @@ -29,6 +30,8 @@ using namespace nnfw::kernel::acl; TEST(KernelACL_TC, convFloat32_test) { + nnfw::kernel::acl::Initialize(); + float inputData[9]; const android::nn::Shape inputShape = { OperandType::FLOAT32, {1,3,3,1}, 1.0, 0 }; float filterData[9]; diff --git a/src/kernel/acl/src/Init_acl.cpp b/src/kernel/acl/src/Init_acl.cpp new file mode 100644 index 0000000..05317fb --- /dev/null +++ b/src/kernel/acl/src/Init_acl.cpp @@ -0,0 +1,16 @@ +#include +#include + +namespace nnfw { +namespace kernel { +namespace acl { + +// This will do one time initialization but can be called multiple times +void Initialize(void) +{ + arm_compute::CLScheduler::get().default_init(); +} + +} // namespace acl +} // namespace kernel +} // namespace nnfw -- 2.7.4