diff options
Diffstat (limited to 'src/armnn/Network.cpp')
-rw-r--r-- | src/armnn/Network.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 42388bfbd7..cda87e89c2 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1,5 +1,5 @@ // -// Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved. +// Copyright © 2017,2022-2023 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -1582,6 +1582,18 @@ IOptimizedNetworkPtr Optimize(const Graph& inGraph, ProfilerManager::GetInstance().RegisterProfiler(profiler.get()); profiler->EnableProfiling(options.m_ProfilingEnabled); + // Some backends don't play well together. Check here before continuing. + { + std::set<BackendId> backendSet(backendPreferences.begin(), backendPreferences.end()); + // GpuFsa cannot co-exist with GpuAcc. + if (backendSet.find("GpuFsa") != backendSet.end() && + backendSet.find("GpuAcc") != backendSet.end()) + { + throw InvalidArgumentException("The backends \"GpuAcc\" and \"GpuFsa\" cannot be specified " + "for the same optimized network."); + } + } + ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "Optimizer"); if (backendPreferences.empty()) { |