1 // 2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 #pragma once 6 7 #include <armnn/backends/IBackendContext.hpp> 8 9 namespace armnn 10 { 11 12 /// The NeonBackendModelContext is used to pass in Neon specific backend ModelOptions. The supported backend 13 /// ModelOptions are: 14 /// - "FastMathEnabled"\n 15 /// Using the fast_math flag can lead to performance improvements in fp32 and fp16 layers but may result in\n 16 /// results with reduced or different precision. The fast_math flag will not have any effect on int8 performance. 17 /// - "NumberOfThreads"\n 18 /// Specify the number of threads used by the CpuAcc backend. 19 class NeonBackendModelContext : public IBackendModelContext 20 { 21 public: 22 NeonBackendModelContext(const ModelOptions& modelOptions); 23 24 bool IsFastMathEnabled() const; 25 26 unsigned int GetNumberOfThreads() const; 27 28 private: 29 bool m_IsFastMathEnabled; 30 unsigned int m_NumberOfThreads; 31 }; 32 33 } // namespace armnn