#pragma once #include #include #include namespace c10 { /** * QEngine is an enum that is used to select the engine to run quantized ops. * Keep this enum in sync with get_qengine_id() in * torch/backends/quantized/__init__.py */ enum class QEngine : uint8_t { NoQEngine = 0, FBGEMM = 1, QNNPACK = 2, }; constexpr auto kNoQEngine = QEngine::NoQEngine; constexpr auto kFBGEMM = QEngine::FBGEMM; constexpr auto kQNNPACK = QEngine::QNNPACK; inline std::string toString(QEngine qengine) { switch (qengine) { case kNoQEngine: return "NoQEngine"; case kFBGEMM: return "FBGEMM"; case kQNNPACK: return "QNNPACK"; default: TORCH_CHECK( false, "Unrecognized Quantized Engine: ", static_cast(qengine)); } } } // namespace c10