ArmNN  NotReleased
BackendSettings Struct Reference

#include <BackendSettings.hpp>

Public Member Functions

 BackendSettings ()=default
 
 BackendSettings (const BackendIdVector &preferredBackends, const IDeviceSpec &deviceSpec)
 
 BackendSettings (const BackendSettings &other)
 
bool IsBackendPreferred (const BackendId &backend) const
 
bool IsBackendSupported (const BackendId &backend) const
 
bool IsBackendSelected (const BackendId &backend) const
 
bool IsBackendIgnored (const BackendId &backend) const
 
bool IsCpuRefUsed () const
 
BackendIdVector GetAvailablePreferredBackends () const
 

Public Attributes

BackendIdVector m_PreferredBackends
 
BackendIdSet m_SupportedBackends
 
BackendIdSet m_SelectedBackends
 
BackendIdSet m_IgnoredBackends
 

Detailed Description

Definition at line 14 of file BackendSettings.hpp.

Constructor & Destructor Documentation

◆ BackendSettings() [1/3]

BackendSettings ( )
default

◆ BackendSettings() [2/3]

BackendSettings ( const BackendIdVector preferredBackends,
const IDeviceSpec deviceSpec 
)
inline

Definition at line 23 of file BackendSettings.hpp.

25  {
26  Initialize(preferredBackends, deviceSpec);
27  }

◆ BackendSettings() [3/3]

BackendSettings ( const BackendSettings other)
inline

Definition at line 29 of file BackendSettings.hpp.

30  : m_PreferredBackends(other.m_PreferredBackends)
31  , m_SupportedBackends(other.m_SupportedBackends)
32  , m_SelectedBackends(other.m_SelectedBackends)
33  , m_IgnoredBackends(other.m_IgnoredBackends)
34  {
35  }
BackendIdSet m_SupportedBackends
BackendIdSet m_SelectedBackends
BackendIdVector m_PreferredBackends
BackendIdSet m_IgnoredBackends

Member Function Documentation

◆ GetAvailablePreferredBackends()

BackendIdVector GetAvailablePreferredBackends ( ) const
inline

Definition at line 63 of file BackendSettings.hpp.

References DeviceSpec::GetSupportedBackends(), BackendSettings::IsBackendIgnored(), and BackendSettings::IsBackendSupported().

Referenced by armnn::AssignBackends(), and armnn::Optimize().

64  {
65  BackendIdVector availablePreferredBackends;
66  for (const BackendId& backend : m_PreferredBackends)
67  {
68  if (IsBackendSupported(backend) && !IsBackendIgnored(backend))
69  {
70  availablePreferredBackends.push_back(backend);
71  }
72  }
73  return availablePreferredBackends;
74  }
bool IsBackendSupported(const BackendId &backend) const
bool IsBackendIgnored(const BackendId &backend) const
std::vector< BackendId > BackendIdVector
Definition: BackendId.hpp:190
BackendIdVector m_PreferredBackends

◆ IsBackendIgnored()

bool IsBackendIgnored ( const BackendId backend) const
inline

Definition at line 52 of file BackendSettings.hpp.

Referenced by BackendSettings::GetAvailablePreferredBackends().

53  {
54  return IsBackendInCollection(backend, m_IgnoredBackends);
55  }
BackendIdSet m_IgnoredBackends

◆ IsBackendPreferred()

bool IsBackendPreferred ( const BackendId backend) const
inline

Definition at line 37 of file BackendSettings.hpp.

Referenced by BackendSettings::IsCpuRefUsed().

38  {
39  return IsBackendInCollection(backend, m_PreferredBackends);
40  }
BackendIdVector m_PreferredBackends

◆ IsBackendSelected()

bool IsBackendSelected ( const BackendId backend) const
inline

Definition at line 47 of file BackendSettings.hpp.

48  {
49  return IsBackendInCollection(backend, m_SelectedBackends);
50  }
BackendIdSet m_SelectedBackends

◆ IsBackendSupported()

bool IsBackendSupported ( const BackendId backend) const
inline

Definition at line 42 of file BackendSettings.hpp.

Referenced by BackendSettings::GetAvailablePreferredBackends(), and BackendSettings::IsCpuRefUsed().

43  {
44  return IsBackendInCollection(backend, m_SupportedBackends);
45  }
BackendIdSet m_SupportedBackends

◆ IsCpuRefUsed()

bool IsCpuRefUsed ( ) const
inline

Definition at line 57 of file BackendSettings.hpp.

References armnn::CpuRef, BackendSettings::IsBackendPreferred(), and BackendSettings::IsBackendSupported().

Referenced by armnn::AssignBackends().

58  {
59  BackendId cpuBackendId(Compute::CpuRef);
60  return IsBackendSupported(cpuBackendId) && IsBackendPreferred(cpuBackendId);
61  }
bool IsBackendSupported(const BackendId &backend) const
bool IsBackendPreferred(const BackendId &backend) const
CPU Execution: Reference C++ kernels.

Member Data Documentation

◆ m_IgnoredBackends

BackendIdSet m_IgnoredBackends

Definition at line 19 of file BackendSettings.hpp.

◆ m_PreferredBackends

BackendIdVector m_PreferredBackends

Definition at line 16 of file BackendSettings.hpp.

Referenced by armnn::AssignBackends().

◆ m_SelectedBackends

BackendIdSet m_SelectedBackends

◆ m_SupportedBackends

BackendIdSet m_SupportedBackends

Definition at line 17 of file BackendSettings.hpp.

Referenced by armnn::CreateSupportedBackends(), and armnn::Optimize().


The documentation for this struct was generated from the following file: