Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 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 | |
Mike Kelly | f9f33a0 | 2020-10-14 11:48:21 +0100 | [diff] [blame] | 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. |
Matthew Sloyan | 0a7dc6b | 2021-02-10 16:50:53 +0000 | [diff] [blame] | 17 | /// - "NumberOfThreads"\n |
| 18 | /// Specify the number of threads used by the CpuAcc backend. |
Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 19 | class NeonBackendModelContext : public IBackendModelContext |
| 20 | { |
| 21 | public: |
| 22 | NeonBackendModelContext(const ModelOptions& modelOptions); |
| 23 | |
| 24 | bool IsFastMathEnabled() const; |
| 25 | |
Matthew Sloyan | 0a7dc6b | 2021-02-10 16:50:53 +0000 | [diff] [blame] | 26 | unsigned int GetNumberOfThreads() const; |
| 27 | |
Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 28 | private: |
| 29 | bool m_IsFastMathEnabled; |
Matthew Sloyan | 0a7dc6b | 2021-02-10 16:50:53 +0000 | [diff] [blame] | 30 | unsigned int m_NumberOfThreads; |
Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 31 | }; |
| 32 | |
| 33 | } // namespace armnn |