#pragma once // Thin wrapper over the AX Engine runtime (ax_engine/ax_sys from the AXera // BSP, AX650 convention). Compiled against the real runtime when CMake is // configured with -DAX_RUNTIME_ROOT=; otherwise a stub that throws // on construction (host-side configure/build still passes — see README). #include #include #include #include #include class AxRunner { public: explicit AxRunner(const std::string& model_path); ~AxRunner(); AxRunner(const AxRunner&) = delete; AxRunner& operator=(const AxRunner&) = delete; std::vector input_sizes() const; std::vector output_sizes() const; std::vector input_names() const; std::vector output_names() const; // feeds[i] = (data, bytes) for input i; returns output byte buffers in // model output order. std::vector> run( const std::vector>& feeds); private: struct Impl; Impl* impl_; };