11 #include <unordered_set> 41 default:
return "Unknown";
47 inline std::ostream& operator<<(std::ostream& os, const std::vector<Compute>& compute)
49 for (
const Compute& comp : compute)
58 inline std::ostream& operator<<(std::ostream& os, const std::set<Compute>& compute)
60 for (
const Compute& comp : compute)
93 operator std::string()
const {
return m_Id; }
111 return m_Id == other.m_Id;
116 template <
typename O>
120 return *
this == temp;
123 template <
typename O>
126 return !(*
this == other);
131 return m_Id < other.m_Id;
136 const std::string&
Get()
const {
return m_Id; }
158 std::hash<std::string> hasher;
159 return hasher(
id.Get());
171 static const BackendId BACKEND_ID(
"ARMNN");
180 template <
template <
typename...>
class TContainer,
typename... TContainerTemplateArgs>
185 for (
const auto&
id : ids) { os <<
id <<
" "; }
bool operator!=(const O &other) const
bool operator==(const BackendId &other) const
BackendId(const std::string &id)
BackendId(Compute compute)
bool operator<(const BackendId &other) const
bool operator==(const O &other) const
void swap(OriginsDescriptor &first, OriginsDescriptor &second)
GPU Execution: OpenCL: ArmCompute.
BackendId & operator=(const std::string &other)
CPU Execution: Reference C++ kernels.
std::size_t operator()(const armnn::BackendId &id) const noexcept
CPU Execution: NEON: ArmCompute.
std::vector< BackendId > BackendIdVector
boost::variant< std::vector< float >, std::vector< int >, std::vector< unsigned char > > TContainer
constexpr char const * GetComputeDeviceAsCString(Compute compute)
std::unordered_set< BackendId > BackendIdSet
BackendId & operator=(Compute compute)
std::ostream & operator<<(std::ostream &os, const std::vector< Compute > &compute)
BackendId(const char *id)
const std::string & Get() const