30 Initialize(preferredBackends, deviceSpec);
34 : m_PreferredBackends(other.m_PreferredBackends)
35 , m_SupportedBackends(other.m_SupportedBackends)
36 , m_SelectedBackends(other.m_SelectedBackends)
37 , m_IgnoredBackends(other.m_IgnoredBackends)
43 return IsBackendInCollection(backend, m_PreferredBackends);
48 return IsBackendInCollection(backend, m_SupportedBackends);
53 return IsBackendInCollection(backend, m_SelectedBackends);
58 return IsBackendInCollection(backend, m_IgnoredBackends);
70 for (
const BackendId& backend : m_PreferredBackends)
74 availablePreferredBackends.push_back(backend);
77 return availablePreferredBackends;
85 m_PreferredBackends = preferredBackends;
88 const DeviceSpec& spec = *PolymorphicDowncast<const DeviceSpec*>(&deviceSpec);
92 template<
typename Collection>
93 bool IsBackendInCollection(
const BackendId& backend,
const Collection& collection)
const 95 return std::find(collection.begin(), collection.end(), backend) != collection.end();
BackendSettings(const BackendSettings &other)
CPU Execution: Reference C++ kernels.
BackendIdSet m_IgnoredBackends
bool IsBackendSelected(const BackendId &backend) const
std::unordered_set< BackendId > BackendIdSet
std::vector< BackendId > BackendIdVector
BackendSettings(const BackendIdVector &preferredBackends, const IDeviceSpec &deviceSpec)
BackendIdSet m_SupportedBackends
Copyright (c) 2021 ARM Limited and Contributors.
bool IsBackendSupported(const BackendId &backend) const
BackendSettings()=default
BackendIdVector GetAvailablePreferredBackends() const
Device specific knowledge to be passed to the optimizer.
bool IsBackendIgnored(const BackendId &backend) const
BackendIdVector m_PreferredBackends
virtual const BackendIdSet & GetSupportedBackends() const override
BackendIdSet m_SelectedBackends
bool IsBackendPreferred(const BackendId &backend) const
bool IsCpuRefUsed() const