DetessCast.h File
DetessCast Node — fused CVU kernel that detessellates and casts BF16→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 | DetessCastOptions |
|
Construction options for a DetessCast Node. More... | |
| class | DetessCast |
|
Fused CVU kernel Node: Detess followed by Cast (BF16→FP32). More... | |
Description
DetessCast Node — fused CVU kernel that detessellates and casts BF16→FP32.
Combines an MLA-layout untessellate with a BF16→FP32 cast in a single CVU pass. Inserted after MLA stages on the BF16 output path when downstream wants natural HWC/CHW float tensors — fusing the two stages saves a DDR round-trip versus running Detess then Cast.
- See Also
"The dtype contract" page in /concepts/dtype_contract
File Listing
The file content with the documentation metadata removed is:
26namespace simaai::neat {
35struct DetessCastOptions {
37 DetessCastOptions() = default;
39 explicit DetessCastOptions(const simaai::neat::Model& model);
41 std::string config_path;
44 std::string upstream_name;
45 std::string element_name;
48 int num_buffers = 0;
49 int num_buffers_model = 0;
50 bool num_buffers_locked = false;
64class DetessCast final : public Node,
70 explicit DetessCast(DetessCastOptions opt = {});
78 NodeCapsBehavior caps_behavior() const override {
82 NodeContractDefinition contract_definition() const override;
84 bool compile_node_contract(const ContractCompileInput& input, CompiledNodeContract* out,
87 void apply_compiled_contract(const CompiledNodeContract& contract, std::string* err) override;
89 std::string backend_fragment(int node_index) const override;
91 std::vector<std::string> element_names(int node_index) const override;
93 OutputSpec output_spec(const OutputSpec& input) const override;
96 const nlohmann::json* config_json() const;
99 const DetessCastOptions& options() const {
103 const std::string& config_path() const {
112 DetessCastOptions opt_;
119namespace simaai::neat::nodes {
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.