blob: 22668f6f4bfe2b4ae85d957416177a04de5ed1ee [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5#pragma once
6
David Beck0dbe0ee2018-09-24 15:59:27 +01007#include <backends/Workload.hpp>
8#include <backends/neon/NeonTensorHandle.hpp>
telsoa014fcda012018-03-09 14:13:49 +00009
telsoa01c577f2c2018-08-31 09:22:23 +010010#include "NeonTimer.hpp"
telsoa014fcda012018-03-09 14:13:49 +000011
David Beck0dbe0ee2018-09-24 15:59:27 +010012#include <arm_compute/core/Types.h>
13#include <arm_compute/core/Helpers.h>
14#include <arm_compute/runtime/NEON/NEFunctions.h>
telsoa014fcda012018-03-09 14:13:49 +000015#include <arm_compute/runtime/SubTensor.h>
16
17#include <boost/cast.hpp>
18
19namespace armnn
20{
21class Layer;
22
23template<typename T>
24void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const T* data);
25
telsoa01c577f2c2018-08-31 09:22:23 +010026void InitializeArmComputeTensorDataForFloatTypes(arm_compute::Tensor& tensor, const ConstCpuTensorHandle* handle);
telsoa014fcda012018-03-09 14:13:49 +000027} //namespace armnn
telsoa01c577f2c2018-08-31 09:22:23 +010028
29
30#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name) \
31 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
32 name, \
Nina Drozd69851b52018-09-21 18:42:09 +010033 armnn::NeonTimer(), \
34 armnn::WallClockTimer())