DetessDequant.h File
DetessDequant Node — fused CVU kernel that detessellates and dequantizes INT8→FP32. More...
Included Headers
#include "builder/Node.h"
#include "builder/NodeContractConfigurable.h"
#include "builder/NodeContractProvider.h"
#include "builder/OutputSpec.h"
#include <nlohmann/json.hpp>
#include <memory>
#include <optional>
#include <string>
#include <vector>
Namespaces Index
| namespace | simaai |
| namespace | neat |
| namespace | nodes |
Classes Index
| struct | DetessDequantOptions |
|
Construction options for a DetessDequant Node. More... | |
| class | DetessDequant |
|
Fused CVU kernel Node: Detess followed by Dequant (INT8→FP32). More... | |
Description
DetessDequant Node — fused CVU kernel that detessellates and dequantizes INT8→FP32.
Combines an MLA-layout untessellate with an INT8→FP32 dequantize in a single CVU pass. Inserted after MLA stages on the INT8 output path when downstream wants natural HWC/CHW float tensors — fusing saves a DDR round-trip versus running Detess then Dequant.
- See Also
"The dtype contract" page in /concepts/dtype_contract
File Listing
The file content with the documentation metadata removed is:
26namespace simaai::neat {
31namespace simaai::neat {
38struct DetessDequantOptions {
40 DetessDequantOptions() = default;
42 explicit DetessDequantOptions(const simaai::neat::Model& model);
44 std::string config_path;
47 std::string upstream_name;
48 std::string element_name;
51 int num_buffers = 0;
52 int num_buffers_model = 0;
53 bool num_buffers_locked = false;
67class DetessDequant final : public Node,
73 explicit DetessDequant(DetessDequantOptions opt = {});
81 NodeCapsBehavior caps_behavior() const override {
85 NodeContractDefinition contract_definition() const override;
87 bool compile_node_contract(const ContractCompileInput& input, CompiledNodeContract* out,
90 void apply_compiled_contract(const CompiledNodeContract& contract, std::string* err) override;
92 std::string backend_fragment(int node_index) const override;
94 std::vector<std::string> element_names(int node_index) const override;
96 OutputSpec output_spec(const OutputSpec& input) const override;
99 const nlohmann::json* config_json() const;
102 const DetessDequantOptions& options() const {
106 const std::string& config_path() const {
115 DetessDequantOptions opt_;
122namespace simaai::neat::nodes {
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.