diff --git a/.quixicore/kernel-stubs.yaml b/.quixicore/kernel-stubs.yaml new file mode 100644 index 0000000..dca077f --- /dev/null +++ b/.quixicore/kernel-stubs.yaml @@ -0,0 +1,382 @@ +--- +schema_version: 0.2 +backend: cpu +backend_revision: '0159223979db' +inventory_date: '2026-07-27' +abi: kernel_call_v1 +generated_from: +- QuixiCore/registry/operations.yaml +- ".quixicore/kernels.yaml" +canonical_operation_count: 303 +stub_count: 74 +stubs: + adaptive_norm_modulation: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + adaptive_norm_modulation_qkv: + family: diffusion + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + adaptive_rms_norm_modulation: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + adaptive_rms_norm_modulation_qkv: + family: diffusion + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + all_gather_gemm: + family: collectives + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + all_reduce_rms_norm: + family: collectives + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + attention_gate_residual: + family: attention + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + audio_resample: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + causal_conv3d_cache_update: + family: convolution + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + causal_conv_gate_residual: + family: audio + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + classifier_free_guidance_combine: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + classifier_free_guidance_scheduler_step: + family: diffusion + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + conv_transpose_overlap_add: + family: audio + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + ctc_decode: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + deformable_attention: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + deterministic_noise: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + diffusion_scheduler_step: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + down_projection_residual: + family: matmul + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + downsample_3d: + family: convolution + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + downsample_conv2d: + family: convolution + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + flow_euler_step: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + flow_step_action_clamp_denormalize: + family: vla_world_models + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + gate_up_projection_swiglu: + family: matmul + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + geglu_projection: + family: matmul + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + grammar_mask: + family: sampling + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + grid_sample: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + group_norm_silu: + family: convolution + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + istft: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + joint_multimodal_attention: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + kv_cache_compact: + family: serving + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + kv_cache_offload: + family: serving + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + log_mel_spectrogram: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + logits_bias_penalties_top_k_top_p_sample: + family: sampling + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + mixed_prefill_decode_attention: + family: attention + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + moe_all_to_all_dispatch: + family: collectives + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + moe_grouped_gemm_swiglu: + family: moe + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + moe_route_top_k_prefix_sum_permute: + family: moe + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + moe_unpermute_weighted_reduce: + family: moe + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + multi_codebook_sample: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + multimodal_rope_nd: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + multimodal_stream_deinterleave: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + multimodal_stream_interleave: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + multistream_logits_codebook_sample: + family: audio + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + non_max_suppression: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + overlap_add: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + paged_attention_output_projection_residual: + family: attention + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + patchify_nd: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + patchify_projection_position: + family: vision + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + pixel_shuffle: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + prefix_append_attention: + family: attention + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + qk_norm_rope_attention: + family: attention + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + qkv_projection_qk_norm_rope_kv_append: + family: attention + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + ragged_pack: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + ragged_unpack: + family: multimodal + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + reduce_scatter_gemm: + family: collectives + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + residual_rms_norm_quant: + family: norms + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + residual_vector_quantize_decode: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + residual_vector_quantize_encode: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + resize_bicubic: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + resize_bilinear: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + resize_normalize_layout_quant: + family: vision + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + rnnt_beam_step: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + rnnt_joiner: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + roi_align: + family: vision + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + rope_3d: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + rvq_distance_argmin_residual_update: + family: audio + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + speculative_verify_accept_compact_kv: + family: serving + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + stft: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + streaming_conv1d_state: + family: audio + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + temporal_upsample_conv3d: + family: convolution + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + unpatchify_nd: + family: diffusion + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + upsample_3d: + family: convolution + kind: primitive + reason: planned contract; no backend implementation evidence + source_ids: [] + upsample_conv2d: + family: convolution + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] + window_rfft_power_mel_log: + family: audio + kind: fused + reason: planned contract; no backend implementation evidence + source_ids: [] diff --git a/docs/capability-gaps.md b/docs/capability-gaps.md new file mode 100644 index 0000000..069eafb --- /dev/null +++ b/docs/capability-gaps.md @@ -0,0 +1,65 @@ +# CPU Capability Gaps + +Inventory date: 2026-07-27. + +This file compares the CPU backend with the **263-operation semantic +union** and **17 exact quant-format IDs** recorded in the +[QuixiCore umbrella capability map](https://github.com/QuixiAI/QuixiCore/blob/main/matrices/capability-map.md). + +Backend snapshot: `main` @ `0159223979db`. + +Normalized adapter stubs for the planned practical inference and fused +operations are indexed in `.quixicore/kernel-stubs.yaml` and declared in +`include/quixicore/cpu/contract_stubs.hpp`. The CPU has no gaps against the +observed union below; the generated stubs cover only the expanded planned +contract. + +Union source revisions: CUDA d959679b0163; Metal a6d984377288; ROCm 636ae5ae983f; XPU 67c70fe4dc0c; CPU 0159223979db. + +## How gaps are classified + +- **family-only metadata**: this backend marks the family implemented but + does not publish the exact operation ID. This is an enumeration/evidence + gap, not proof that the semantic kernel is missing. +- **partial-family coverage**: the exact ID is absent and the backend marks + the family partial. +- **capability-gated**: the family or operation depends on hardware/runtime + conditions and is not an unconditional capability. +- **planned family**, **no family claim**, **partial operation**, and + **experimental operation** are implementation or maturity gaps relative + to a fully evidenced union capability. + +Exact accelerator stage/layout aliases remain separate because the umbrella +map preserves published operation IDs. A backend may close a metadata gap +by documenting a proven semantic collapse instead of adding duplicate code. + +## Summary + +| Measure | Count | +|---|---:| +| Union operation capabilities | 263 | +| Fully implemented or semantically mapped | 263 | +| Operation gaps or enumeration gaps | 0 | +| Union quant-format IDs | 17 | +| Fully declared quant-format IDs | 17 | +| Quant-format gaps or missing declarations | 0 | + +## Operation gap list + +No semantic operation gaps are recorded against this union snapshot. + +## Quant-format gap list + +No quant-format gaps are recorded against the exact union identifiers. + +## Evidence rule + +Removing an implementation or maturity gap requires the backend's native +path, correctness coverage, focused performance evidence, and an updated +manifest/status entry. Removing a family-only metadata gap requires an exact +operation entry or a documented semantic alias backed by the existing tests +and performance notebook. Directory presence alone is not sufficient. + +Evidence remains backend-owned in `perf/optimization_status.md`, +`perf/baseline_status.md`, `perf/results/`, and the +backend correctness tests. diff --git a/include/quixicore/contract/kernel_abi.hpp b/include/quixicore/contract/kernel_abi.hpp new file mode 100644 index 0000000..5da2787 --- /dev/null +++ b/include/quixicore/contract/kernel_abi.hpp @@ -0,0 +1,126 @@ +#pragma once + +#include +#include + +namespace quixicore::contract { + +// Stable adapter ABI shared by every backend. Native runtime handles and +// optimized typed entry points remain backend-owned behind this boundary. +enum class StatusCode : std::uint8_t { + ok, + invalid_argument, + invalid_shape, + unsupported_dtype, + unsupported_format, + unsupported_layout, + insufficient_workspace, + adapter_not_wired, + not_implemented, + runtime_error, +}; + +struct Status { + StatusCode code; + const char* operation; + const char* detail; + + [[nodiscard]] constexpr bool is_ok() const noexcept { + return code == StatusCode::ok; + } +}; + +enum class DType : std::uint8_t { + unknown, + boolean, + i8, + u8, + i16, + u16, + i32, + u32, + i64, + u64, + f16, + bf16, + f32, + f64, + e4m3, + e5m2, + packed, +}; + +enum class MemorySpace : std::uint8_t { + unknown, + host, + device, + shared, +}; + +enum TensorFlags : std::uint32_t { + tensor_none = 0, + tensor_read_only = 1U << 0, + tensor_contiguous = 1U << 1, + tensor_optional = 1U << 2, +}; + +struct TensorView { + void* data; + const std::int64_t* shape; + const std::int64_t* strides; + std::size_t rank; + DType dtype; + MemorySpace memory_space; + std::uint32_t flags; +}; + +enum class AttributeKind : std::uint8_t { + boolean, + i64, + f64, + string, + bytes, +}; + +struct Attribute { + const char* name; + AttributeKind kind; + const void* data; + std::size_t size; + std::int64_t i64; + double f64; +}; + +struct KernelCall { + const TensorView* inputs; + std::size_t input_count; + TensorView* outputs; + std::size_t output_count; + const Attribute* attributes; + std::size_t attribute_count; + void* backend_context; + void* stream; + void* workspace; + std::size_t workspace_size; +}; + +using KernelFunction = Status (*)(const KernelCall&) noexcept; + +struct StubDescriptor { + const char* operation; + const char* family; + const char* reason; + KernelFunction function; +}; + +[[nodiscard]] constexpr Status not_implemented(const char* operation, + const char* detail) noexcept { + return {StatusCode::not_implemented, operation, detail}; +} + +[[nodiscard]] constexpr Status adapter_not_wired(const char* operation) noexcept { + return {StatusCode::adapter_not_wired, operation, + "native implementation evidence exists; canonical adapter not wired"}; +} + +} // namespace quixicore::contract diff --git a/include/quixicore/contract/operations.hpp b/include/quixicore/contract/operations.hpp new file mode 100644 index 0000000..53faabd --- /dev/null +++ b/include/quixicore/contract/operations.hpp @@ -0,0 +1,636 @@ +#pragma once + +#include +#include +#include + +namespace quixicore::contract { + +enum class OperationId : std::uint16_t { + accumulate, + act_quant_int8, + adamw, + adamw_masked, + adaptive_norm_modulation, + adaptive_norm_modulation_qkv, + adaptive_rms_norm_modulation, + adaptive_rms_norm_modulation_qkv, + add_id, + add_relative_position_2d, + add_scalar, + all_gather_gemm, + all_reduce_rms_norm, + arange, + argmax, + argsort, + attention, + attention_backward, + attention_gate_residual, + attention_with_lse, + audio_causal_depthwise_conv1d, + audio_conv1d, + audio_conv1d_direct, + audio_depthwise_conv1d, + audio_relative_attention, + audio_resample, + avg_pool2d_tokens, + base_q_dequant, + base_q_embedding, + base_q_gemm, + base_q_gemv, + base_q_lm_head_argmax, + base_q_moe_gemm, + base_q_moe_swiglu, + base_q_qkv, + base_q_swiglu, + based_attention, + biased_attention, + broadcast, + calibration_absmax, + causal_conv3d_cache_update, + causal_conv_gate_residual, + clamp, + classifier_free_guidance_combine, + classifier_free_guidance_scheduler_step, + col2im_1d, + col2im_2d, + complex_gemm, + concat, + conv2d, + conv3d, + conv_transpose_1d, + conv_transpose_2d, + conv_transpose_overlap_add, + cosine, + count_equal, + cross_attention, + cross_entropy, + cross_entropy_backward, + ctc_decode, + cumulative_sum, + decode_cache_attention, + decode_linear, + decode_linear_q8, + decode_linear_residual, + decode_swiglu, + deformable_attention, + dense_gemm, + dense_gemm_ex, + depthwise_conv2d, + dequant_gather, + deterministic_noise, + diag_embed, + diag_mask, + diffusion_scheduler_step, + divide, + down_projection_residual, + downsample_3d, + downsample_conv2d, + dropout, + dsv4_hc_comb, + dsv4_hc_post, + dsv4_hc_pre, + edge_mlp_256x7, + embedding_backward, + embedding_lookup, + embedding_lookup_types, + extract_patches_2d, + extract_patches_3d, + factorized_position_2d, + fake_quant_float8, + fake_quant_int8, + fft_convolution, + fill, + flow_euler_step, + flow_step_action_clamp_denormalize, + fp8_gemm, + fp8_scaled_gemm, + gate_up_projection_swiglu, + gated_linear_attention, + gdn_gate_beta, + gdn_gated_rmsnorm, + gdn_qkv_prepare, + gdn_recurrence, + gdn_short_conv, + geglu_projection, + gelu, + gelu_backward, + gemm_gate_residual, + get_relative_position, + gguf_gemv, + glu, + grammar_mask, + grid_sample, + group_norm, + group_norm_silu, + grouped_gemm, + hadamard, + hedgehog_attention, + im2col_2d, + im2col_3d, + indexer_k_gather, + int8_gemm, + interpolate_position_2d, + istft, + joint_multimodal_attention, + kd_ce_fused_bwd, + kd_ce_fused_fwd, + kd_kl_dense_bwd, + kd_kl_dense_fwd, + kd_kl_topk_bwd, + kd_kl_topk_fwd, + kv_cache_compact, + kv_cache_copy_blocks_q8_0, + kv_cache_gather, + kv_cache_gather_bitnet_kv3, + kv_cache_gather_q8_0, + kv_cache_offload, + kv_cache_scatter, + kv_cache_scatter_bitnet_kv3, + kv_cache_scatter_q8_0, + l2_normalize, + layer_norm, + leaky_relu, + linear_attention, + linear_attention_unnormalized, + linear_epilogue, + lm_head_beam_advance, + lm_head_candidates, + lm_head_masked, + log_mel_spectrogram, + logarithm, + logits_bias_penalties_top_k_top_p_sample, + logits_softcap, + lora_apply, + lora_apply_direct_f16, + lowbit_gemv, + mamba2_backward, + masked_mean_pool_rms_l2, + mean_pool_rms_l2, + mixed_prefill_decode_attention, + moe_all_to_all_dispatch, + moe_finalize_backward, + moe_gather_backward, + moe_grouped_gemm_backward_input, + moe_grouped_gemm_backward_weight, + moe_grouped_gemm_swiglu, + moe_grouped_qgemm, + moe_grouped_qswiglu, + moe_route_grouped, + moe_route_top_k_prefix_sum_permute, + moe_route_topk, + moe_unpermute_weighted_reduce, + mrope, + multi_codebook_sample, + multimodal_rope_nd, + multimodal_stream_deinterleave, + multimodal_stream_interleave, + multiply, + multistream_logits_codebook_sample, + mxfp4_gemv, + mxfp8_gemm, + non_max_suppression, + norm_quant, + nvfp4_gemm, + nvfp4_gemv, + outer_product, + overlap_add, + pad_2d, + pad_reflect_1d, + paged_attention_advanced, + paged_attention_bitnet_kv3, + paged_attention_output_projection_residual, + paged_attention_q8_0, + paged_attention_turboquant, + patch_merge_layer_norm, + patchify_nd, + patchify_projection_position, + pixel_shuffle, + pool1d, + pool2d, + pool2d_backward, + pool_tokens_by_position, + prefix_append_attention, + qgeglu, + qgemm, + qgemm_backward_input, + qgemm_int, + qgemm_q4q8, + qgemv, + qgemv_qkv, + qgemv_up_gate, + qgemv_up_gate_activation, + qk_norm_rope, + qk_norm_rope_attention, + qk_norm_rope_positioned, + qkv_proj_fused, + qkv_projection_qk_norm_rope_kv_append, + quantize_int4_group, + quantized_attention, + quantized_embedding, + quantized_embedding_bag, + quantized_lm_head_sample, + qwen_vision_rope_2d, + ragged_pack, + ragged_unpack, + reduce_mean, + reduce_scatter_gemm, + reduce_sum, + reduce_sum_all, + repeat_2d, + repeat_backward_2d, + residual_rms_norm_quant, + residual_vector_quantize_decode, + residual_vector_quantize_encode, + resize_bicubic, + resize_bilinear, + resize_normalize_layout_quant, + rms_norm, + rms_norm_backward, + rms_norm_residual_next, + rnnt_beam_step, + rnnt_joiner, + roi_align, + roll_2d, + rope, + rope_3d, + rotary_positioned, + rvq_distance_argmin_residual_update, + rwkv_wkv6, + rwkv_wkv7, + sample_categorical, + scale, + selective_scan, + set_rows, + sgd, + sigmoid_mul, + sigmoid_mul_backward, + silu, + silu_backward, + sine, + softmax, + softmax_backward, + solve_lower_triangular, + space_to_depth_norm_linear, + speculative_verify_accept_compact_kv, + square, + square_root, + ssd_chunked_backward, + ssd_decode, + stft, + streaming_conv1d_state, + subtract, + swiglu_oai, + temporal_upsample_conv3d, + tensor_copy, + tensor_set_4d, + ternary_code_flip_count, + ternary_pack, + ternary_stats, + ternary_unpack, + threshold_topk_indices, + timestep_embedding, + top_k_renorm, + top_k_sample, + top_p_renorm, + tq2_0_pack, + tq2_0_unpack, + triangular_fill, + turboquant, + unary, + unpatchify_nd, + upsample_3d, + upsample_conv2d, + upscale_nearest_2d, + value_clip, + vision_patch_projection, + vision_patch_projection_3d, + vision_rope_2d, + window_attention, + window_partition, + window_rfft_power_mel_log, + window_unpartition, +}; + +struct OperationDescriptor { + OperationId id; + std::string_view name; + std::string_view family; + std::string_view kind; + std::string_view maturity; +}; + +inline constexpr std::array kOperations{{ + {OperationId::accumulate, "accumulate", "utils", "operation", "observed"}, + {OperationId::act_quant_int8, "act_quant_int8", "quantization", "operation", "observed"}, + {OperationId::adamw, "adamw", "optimizers", "operation", "observed"}, + {OperationId::adamw_masked, "adamw_masked", "optimizers", "operation", "observed"}, + {OperationId::adaptive_norm_modulation, "adaptive_norm_modulation", "diffusion", "primitive", "planned"}, + {OperationId::adaptive_norm_modulation_qkv, "adaptive_norm_modulation_qkv", "diffusion", "fused", "planned"}, + {OperationId::adaptive_rms_norm_modulation, "adaptive_rms_norm_modulation", "diffusion", "primitive", "planned"}, + {OperationId::adaptive_rms_norm_modulation_qkv, "adaptive_rms_norm_modulation_qkv", "diffusion", "fused", "planned"}, + {OperationId::add_id, "add_id", "utils", "operation", "observed"}, + {OperationId::add_relative_position_2d, "add_relative_position_2d", "vision", "operation", "observed"}, + {OperationId::add_scalar, "add_scalar", "utils", "operation", "observed"}, + {OperationId::all_gather_gemm, "all_gather_gemm", "collectives", "fused", "planned"}, + {OperationId::all_reduce_rms_norm, "all_reduce_rms_norm", "collectives", "fused", "planned"}, + {OperationId::arange, "arange", "utils", "operation", "observed"}, + {OperationId::argmax, "argmax", "sampling", "operation", "observed"}, + {OperationId::argsort, "argsort", "utils", "operation", "observed"}, + {OperationId::attention, "attention", "attention", "operation", "observed"}, + {OperationId::attention_backward, "attention_backward", "attention", "operation", "observed"}, + {OperationId::attention_gate_residual, "attention_gate_residual", "attention", "fused", "planned"}, + {OperationId::attention_with_lse, "attention_with_lse", "attention", "operation", "observed"}, + {OperationId::audio_causal_depthwise_conv1d, "audio_causal_depthwise_conv1d", "audio", "operation", "observed"}, + {OperationId::audio_conv1d, "audio_conv1d", "audio", "operation", "observed"}, + {OperationId::audio_conv1d_direct, "audio_conv1d_direct", "audio", "operation", "observed"}, + {OperationId::audio_depthwise_conv1d, "audio_depthwise_conv1d", "audio", "operation", "observed"}, + {OperationId::audio_relative_attention, "audio_relative_attention", "audio", "operation", "observed"}, + {OperationId::audio_resample, "audio_resample", "audio", "primitive", "planned"}, + {OperationId::avg_pool2d_tokens, "avg_pool2d_tokens", "vision", "operation", "observed"}, + {OperationId::base_q_dequant, "base_q_dequant", "quantization", "operation", "observed"}, + {OperationId::base_q_embedding, "base_q_embedding", "quantization", "operation", "observed"}, + {OperationId::base_q_gemm, "base_q_gemm", "quantization", "operation", "observed"}, + {OperationId::base_q_gemv, "base_q_gemv", "quantization", "operation", "observed"}, + {OperationId::base_q_lm_head_argmax, "base_q_lm_head_argmax", "quantization", "operation", "observed"}, + {OperationId::base_q_moe_gemm, "base_q_moe_gemm", "quantization", "operation", "observed"}, + {OperationId::base_q_moe_swiglu, "base_q_moe_swiglu", "quantization", "operation", "observed"}, + {OperationId::base_q_qkv, "base_q_qkv", "quantization", "operation", "observed"}, + {OperationId::base_q_swiglu, "base_q_swiglu", "quantization", "operation", "observed"}, + {OperationId::based_attention, "based_attention", "linear_attention", "operation", "observed"}, + {OperationId::biased_attention, "biased_attention", "attention", "operation", "observed"}, + {OperationId::broadcast, "broadcast", "collectives", "operation", "observed"}, + {OperationId::calibration_absmax, "calibration_absmax", "quantization", "operation", "observed"}, + {OperationId::causal_conv3d_cache_update, "causal_conv3d_cache_update", "convolution", "fused", "planned"}, + {OperationId::causal_conv_gate_residual, "causal_conv_gate_residual", "audio", "fused", "planned"}, + {OperationId::clamp, "clamp", "utils", "operation", "observed"}, + {OperationId::classifier_free_guidance_combine, "classifier_free_guidance_combine", "diffusion", "primitive", "planned"}, + {OperationId::classifier_free_guidance_scheduler_step, "classifier_free_guidance_scheduler_step", "diffusion", "fused", "planned"}, + {OperationId::col2im_1d, "col2im_1d", "convolution", "operation", "observed"}, + {OperationId::col2im_2d, "col2im_2d", "convolution", "operation", "observed"}, + {OperationId::complex_gemm, "complex_gemm", "matmul", "operation", "observed"}, + {OperationId::concat, "concat", "utils", "operation", "observed"}, + {OperationId::conv2d, "conv2d", "convolution", "operation", "observed"}, + {OperationId::conv3d, "conv3d", "convolution", "operation", "observed"}, + {OperationId::conv_transpose_1d, "conv_transpose_1d", "convolution", "operation", "observed"}, + {OperationId::conv_transpose_2d, "conv_transpose_2d", "convolution", "operation", "observed"}, + {OperationId::conv_transpose_overlap_add, "conv_transpose_overlap_add", "audio", "fused", "planned"}, + {OperationId::cosine, "cosine", "utils", "operation", "observed"}, + {OperationId::count_equal, "count_equal", "utils", "operation", "observed"}, + {OperationId::cross_attention, "cross_attention", "attention", "operation", "observed"}, + {OperationId::cross_entropy, "cross_entropy", "utils", "operation", "observed"}, + {OperationId::cross_entropy_backward, "cross_entropy_backward", "utils", "operation", "observed"}, + {OperationId::ctc_decode, "ctc_decode", "audio", "primitive", "planned"}, + {OperationId::cumulative_sum, "cumulative_sum", "utils", "operation", "observed"}, + {OperationId::decode_cache_attention, "decode_cache_attention", "attention", "operation", "observed"}, + {OperationId::decode_linear, "decode_linear", "matmul", "operation", "observed"}, + {OperationId::decode_linear_q8, "decode_linear_q8", "matmul", "operation", "observed"}, + {OperationId::decode_linear_residual, "decode_linear_residual", "matmul", "operation", "observed"}, + {OperationId::decode_swiglu, "decode_swiglu", "matmul", "operation", "observed"}, + {OperationId::deformable_attention, "deformable_attention", "vision", "primitive", "planned"}, + {OperationId::dense_gemm, "dense_gemm", "matmul", "operation", "observed"}, + {OperationId::dense_gemm_ex, "dense_gemm_ex", "matmul", "operation", "observed"}, + {OperationId::depthwise_conv2d, "depthwise_conv2d", "convolution", "operation", "observed"}, + {OperationId::dequant_gather, "dequant_gather", "quantization", "operation", "observed"}, + {OperationId::deterministic_noise, "deterministic_noise", "diffusion", "primitive", "planned"}, + {OperationId::diag_embed, "diag_embed", "utils", "operation", "observed"}, + {OperationId::diag_mask, "diag_mask", "utils", "operation", "observed"}, + {OperationId::diffusion_scheduler_step, "diffusion_scheduler_step", "diffusion", "primitive", "planned"}, + {OperationId::divide, "divide", "utils", "operation", "observed"}, + {OperationId::down_projection_residual, "down_projection_residual", "matmul", "fused", "planned"}, + {OperationId::downsample_3d, "downsample_3d", "convolution", "primitive", "planned"}, + {OperationId::downsample_conv2d, "downsample_conv2d", "convolution", "fused", "planned"}, + {OperationId::dropout, "dropout", "utils", "operation", "observed"}, + {OperationId::dsv4_hc_comb, "dsv4_hc_comb", "ssm", "operation", "observed"}, + {OperationId::dsv4_hc_post, "dsv4_hc_post", "ssm", "operation", "observed"}, + {OperationId::dsv4_hc_pre, "dsv4_hc_pre", "ssm", "operation", "observed"}, + {OperationId::edge_mlp_256x7, "edge_mlp_256x7", "vision", "operation", "observed"}, + {OperationId::embedding_backward, "embedding_backward", "serving", "operation", "observed"}, + {OperationId::embedding_lookup, "embedding_lookup", "serving", "operation", "observed"}, + {OperationId::embedding_lookup_types, "embedding_lookup_types", "serving", "operation", "observed"}, + {OperationId::extract_patches_2d, "extract_patches_2d", "vision", "operation", "observed"}, + {OperationId::extract_patches_3d, "extract_patches_3d", "vision", "operation", "observed"}, + {OperationId::factorized_position_2d, "factorized_position_2d", "vision", "operation", "observed"}, + {OperationId::fake_quant_float8, "fake_quant_float8", "quantization", "operation", "observed"}, + {OperationId::fake_quant_int8, "fake_quant_int8", "quantization", "operation", "observed"}, + {OperationId::fft_convolution, "fft_convolution", "ssm", "operation", "observed"}, + {OperationId::fill, "fill", "utils", "operation", "observed"}, + {OperationId::flow_euler_step, "flow_euler_step", "diffusion", "primitive", "planned"}, + {OperationId::flow_step_action_clamp_denormalize, "flow_step_action_clamp_denormalize", "vla_world_models", "fused", "planned"}, + {OperationId::fp8_gemm, "fp8_gemm", "quantization", "operation", "observed"}, + {OperationId::fp8_scaled_gemm, "fp8_scaled_gemm", "matmul", "operation", "observed"}, + {OperationId::gate_up_projection_swiglu, "gate_up_projection_swiglu", "matmul", "fused", "planned"}, + {OperationId::gated_linear_attention, "gated_linear_attention", "linear_attention", "operation", "observed"}, + {OperationId::gdn_gate_beta, "gdn_gate_beta", "linear_attention", "operation", "observed"}, + {OperationId::gdn_gated_rmsnorm, "gdn_gated_rmsnorm", "linear_attention", "operation", "observed"}, + {OperationId::gdn_qkv_prepare, "gdn_qkv_prepare", "linear_attention", "operation", "observed"}, + {OperationId::gdn_recurrence, "gdn_recurrence", "linear_attention", "operation", "observed"}, + {OperationId::gdn_short_conv, "gdn_short_conv", "linear_attention", "operation", "observed"}, + {OperationId::geglu_projection, "geglu_projection", "matmul", "fused", "planned"}, + {OperationId::gelu, "gelu", "activations", "operation", "observed"}, + {OperationId::gelu_backward, "gelu_backward", "activations", "operation", "observed"}, + {OperationId::gemm_gate_residual, "gemm_gate_residual", "matmul", "operation", "observed"}, + {OperationId::get_relative_position, "get_relative_position", "vision", "operation", "observed"}, + {OperationId::gguf_gemv, "gguf_gemv", "quantization", "operation", "observed"}, + {OperationId::glu, "glu", "activations", "operation", "observed"}, + {OperationId::grammar_mask, "grammar_mask", "sampling", "primitive", "planned"}, + {OperationId::grid_sample, "grid_sample", "vision", "primitive", "planned"}, + {OperationId::group_norm, "group_norm", "utils", "operation", "observed"}, + {OperationId::group_norm_silu, "group_norm_silu", "convolution", "fused", "planned"}, + {OperationId::grouped_gemm, "grouped_gemm", "matmul", "operation", "observed"}, + {OperationId::hadamard, "hadamard", "utils", "operation", "observed"}, + {OperationId::hedgehog_attention, "hedgehog_attention", "linear_attention", "operation", "observed"}, + {OperationId::im2col_2d, "im2col_2d", "convolution", "operation", "observed"}, + {OperationId::im2col_3d, "im2col_3d", "convolution", "operation", "observed"}, + {OperationId::indexer_k_gather, "indexer_k_gather", "serving", "operation", "observed"}, + {OperationId::int8_gemm, "int8_gemm", "matmul", "operation", "observed"}, + {OperationId::interpolate_position_2d, "interpolate_position_2d", "vision", "operation", "observed"}, + {OperationId::istft, "istft", "audio", "primitive", "planned"}, + {OperationId::joint_multimodal_attention, "joint_multimodal_attention", "multimodal", "primitive", "planned"}, + {OperationId::kd_ce_fused_bwd, "kd_ce_fused_bwd", "utils", "operation", "observed"}, + {OperationId::kd_ce_fused_fwd, "kd_ce_fused_fwd", "utils", "operation", "observed"}, + {OperationId::kd_kl_dense_bwd, "kd_kl_dense_bwd", "utils", "operation", "observed"}, + {OperationId::kd_kl_dense_fwd, "kd_kl_dense_fwd", "utils", "operation", "observed"}, + {OperationId::kd_kl_topk_bwd, "kd_kl_topk_bwd", "utils", "operation", "observed"}, + {OperationId::kd_kl_topk_fwd, "kd_kl_topk_fwd", "utils", "operation", "observed"}, + {OperationId::kv_cache_compact, "kv_cache_compact", "serving", "primitive", "planned"}, + {OperationId::kv_cache_copy_blocks_q8_0, "kv_cache_copy_blocks_q8_0", "serving", "operation", "observed"}, + {OperationId::kv_cache_gather, "kv_cache_gather", "serving", "operation", "observed"}, + {OperationId::kv_cache_gather_bitnet_kv3, "kv_cache_gather_bitnet_kv3", "serving", "operation", "observed"}, + {OperationId::kv_cache_gather_q8_0, "kv_cache_gather_q8_0", "serving", "operation", "observed"}, + {OperationId::kv_cache_offload, "kv_cache_offload", "serving", "primitive", "planned"}, + {OperationId::kv_cache_scatter, "kv_cache_scatter", "serving", "operation", "observed"}, + {OperationId::kv_cache_scatter_bitnet_kv3, "kv_cache_scatter_bitnet_kv3", "serving", "operation", "observed"}, + {OperationId::kv_cache_scatter_q8_0, "kv_cache_scatter_q8_0", "serving", "operation", "observed"}, + {OperationId::l2_normalize, "l2_normalize", "utils", "operation", "observed"}, + {OperationId::layer_norm, "layer_norm", "norms", "operation", "observed"}, + {OperationId::leaky_relu, "leaky_relu", "activations", "operation", "observed"}, + {OperationId::linear_attention, "linear_attention", "linear_attention", "operation", "observed"}, + {OperationId::linear_attention_unnormalized, "linear_attention_unnormalized", "linear_attention", "operation", "observed"}, + {OperationId::linear_epilogue, "linear_epilogue", "matmul", "operation", "observed"}, + {OperationId::lm_head_beam_advance, "lm_head_beam_advance", "quantization", "operation", "observed"}, + {OperationId::lm_head_candidates, "lm_head_candidates", "quantization", "operation", "observed"}, + {OperationId::lm_head_masked, "lm_head_masked", "quantization", "operation", "observed"}, + {OperationId::log_mel_spectrogram, "log_mel_spectrogram", "audio", "primitive", "planned"}, + {OperationId::logarithm, "logarithm", "utils", "operation", "observed"}, + {OperationId::logits_bias_penalties_top_k_top_p_sample, "logits_bias_penalties_top_k_top_p_sample", "sampling", "fused", "planned"}, + {OperationId::logits_softcap, "logits_softcap", "sampling", "operation", "observed"}, + {OperationId::lora_apply, "lora_apply", "matmul", "operation", "observed"}, + {OperationId::lora_apply_direct_f16, "lora_apply_direct_f16", "matmul", "operation", "observed"}, + {OperationId::lowbit_gemv, "lowbit_gemv", "quantization", "operation", "observed"}, + {OperationId::mamba2_backward, "mamba2_backward", "ssm", "operation", "observed"}, + {OperationId::masked_mean_pool_rms_l2, "masked_mean_pool_rms_l2", "serving", "operation", "observed"}, + {OperationId::mean_pool_rms_l2, "mean_pool_rms_l2", "pooling", "operation", "observed"}, + {OperationId::mixed_prefill_decode_attention, "mixed_prefill_decode_attention", "attention", "primitive", "planned"}, + {OperationId::moe_all_to_all_dispatch, "moe_all_to_all_dispatch", "collectives", "fused", "planned"}, + {OperationId::moe_finalize_backward, "moe_finalize_backward", "moe", "operation", "observed"}, + {OperationId::moe_gather_backward, "moe_gather_backward", "moe", "operation", "observed"}, + {OperationId::moe_grouped_gemm_backward_input, "moe_grouped_gemm_backward_input", "moe", "operation", "observed"}, + {OperationId::moe_grouped_gemm_backward_weight, "moe_grouped_gemm_backward_weight", "moe", "operation", "observed"}, + {OperationId::moe_grouped_gemm_swiglu, "moe_grouped_gemm_swiglu", "moe", "fused", "planned"}, + {OperationId::moe_grouped_qgemm, "moe_grouped_qgemm", "moe", "operation", "observed"}, + {OperationId::moe_grouped_qswiglu, "moe_grouped_qswiglu", "moe", "operation", "observed"}, + {OperationId::moe_route_grouped, "moe_route_grouped", "moe", "operation", "observed"}, + {OperationId::moe_route_top_k_prefix_sum_permute, "moe_route_top_k_prefix_sum_permute", "moe", "fused", "planned"}, + {OperationId::moe_route_topk, "moe_route_topk", "moe", "operation", "observed"}, + {OperationId::moe_unpermute_weighted_reduce, "moe_unpermute_weighted_reduce", "moe", "fused", "planned"}, + {OperationId::mrope, "mrope", "attention", "operation", "observed"}, + {OperationId::multi_codebook_sample, "multi_codebook_sample", "audio", "primitive", "planned"}, + {OperationId::multimodal_rope_nd, "multimodal_rope_nd", "multimodal", "primitive", "planned"}, + {OperationId::multimodal_stream_deinterleave, "multimodal_stream_deinterleave", "multimodal", "primitive", "planned"}, + {OperationId::multimodal_stream_interleave, "multimodal_stream_interleave", "multimodal", "primitive", "planned"}, + {OperationId::multiply, "multiply", "utils", "operation", "observed"}, + {OperationId::multistream_logits_codebook_sample, "multistream_logits_codebook_sample", "audio", "fused", "planned"}, + {OperationId::mxfp4_gemv, "mxfp4_gemv", "quantization", "operation", "observed"}, + {OperationId::mxfp8_gemm, "mxfp8_gemm", "matmul", "operation", "observed"}, + {OperationId::non_max_suppression, "non_max_suppression", "vision", "primitive", "planned"}, + {OperationId::norm_quant, "norm_quant", "norms", "operation", "observed"}, + {OperationId::nvfp4_gemm, "nvfp4_gemm", "matmul", "operation", "observed"}, + {OperationId::nvfp4_gemv, "nvfp4_gemv", "quantization", "operation", "observed"}, + {OperationId::outer_product, "outer_product", "utils", "operation", "observed"}, + {OperationId::overlap_add, "overlap_add", "audio", "primitive", "planned"}, + {OperationId::pad_2d, "pad_2d", "utils", "operation", "observed"}, + {OperationId::pad_reflect_1d, "pad_reflect_1d", "utils", "operation", "observed"}, + {OperationId::paged_attention_advanced, "paged_attention_advanced", "serving", "operation", "observed"}, + {OperationId::paged_attention_bitnet_kv3, "paged_attention_bitnet_kv3", "serving", "operation", "observed"}, + {OperationId::paged_attention_output_projection_residual, "paged_attention_output_projection_residual", "attention", "fused", "planned"}, + {OperationId::paged_attention_q8_0, "paged_attention_q8_0", "attention", "operation", "observed"}, + {OperationId::paged_attention_turboquant, "paged_attention_turboquant", "serving", "operation", "observed"}, + {OperationId::patch_merge_layer_norm, "patch_merge_layer_norm", "vision", "operation", "observed"}, + {OperationId::patchify_nd, "patchify_nd", "diffusion", "primitive", "planned"}, + {OperationId::patchify_projection_position, "patchify_projection_position", "vision", "fused", "planned"}, + {OperationId::pixel_shuffle, "pixel_shuffle", "vision", "primitive", "planned"}, + {OperationId::pool1d, "pool1d", "convolution", "operation", "observed"}, + {OperationId::pool2d, "pool2d", "convolution", "operation", "observed"}, + {OperationId::pool2d_backward, "pool2d_backward", "convolution", "operation", "observed"}, + {OperationId::pool_tokens_by_position, "pool_tokens_by_position", "vision", "operation", "observed"}, + {OperationId::prefix_append_attention, "prefix_append_attention", "attention", "primitive", "planned"}, + {OperationId::qgeglu, "qgeglu", "quantization", "operation", "observed"}, + {OperationId::qgemm, "qgemm", "quantization", "operation", "observed"}, + {OperationId::qgemm_backward_input, "qgemm_backward_input", "quantization", "operation", "observed"}, + {OperationId::qgemm_int, "qgemm_int", "quantization", "operation", "observed"}, + {OperationId::qgemm_q4q8, "qgemm_q4q8", "quantization", "operation", "observed"}, + {OperationId::qgemv, "qgemv", "quantization", "operation", "observed"}, + {OperationId::qgemv_qkv, "qgemv_qkv", "quantization", "operation", "observed"}, + {OperationId::qgemv_up_gate, "qgemv_up_gate", "quantization", "operation", "observed"}, + {OperationId::qgemv_up_gate_activation, "qgemv_up_gate_activation", "quantization", "operation", "observed"}, + {OperationId::qk_norm_rope, "qk_norm_rope", "norms", "operation", "observed"}, + {OperationId::qk_norm_rope_attention, "qk_norm_rope_attention", "attention", "fused", "planned"}, + {OperationId::qk_norm_rope_positioned, "qk_norm_rope_positioned", "norms", "operation", "observed"}, + {OperationId::qkv_proj_fused, "qkv_proj_fused", "quantization", "operation", "observed"}, + {OperationId::qkv_projection_qk_norm_rope_kv_append, "qkv_projection_qk_norm_rope_kv_append", "attention", "fused", "planned"}, + {OperationId::quantize_int4_group, "quantize_int4_group", "quantization", "operation", "observed"}, + {OperationId::quantized_attention, "quantized_attention", "serving", "operation", "observed"}, + {OperationId::quantized_embedding, "quantized_embedding", "quantization", "operation", "observed"}, + {OperationId::quantized_embedding_bag, "quantized_embedding_bag", "quantization", "operation", "observed"}, + {OperationId::quantized_lm_head_sample, "quantized_lm_head_sample", "quantization", "operation", "observed"}, + {OperationId::qwen_vision_rope_2d, "qwen_vision_rope_2d", "vision", "operation", "observed"}, + {OperationId::ragged_pack, "ragged_pack", "multimodal", "primitive", "planned"}, + {OperationId::ragged_unpack, "ragged_unpack", "multimodal", "primitive", "planned"}, + {OperationId::reduce_mean, "reduce_mean", "utils", "operation", "observed"}, + {OperationId::reduce_scatter_gemm, "reduce_scatter_gemm", "collectives", "fused", "planned"}, + {OperationId::reduce_sum, "reduce_sum", "collectives", "operation", "observed"}, + {OperationId::reduce_sum_all, "reduce_sum_all", "utils", "operation", "observed"}, + {OperationId::repeat_2d, "repeat_2d", "utils", "operation", "observed"}, + {OperationId::repeat_backward_2d, "repeat_backward_2d", "utils", "operation", "observed"}, + {OperationId::residual_rms_norm_quant, "residual_rms_norm_quant", "norms", "fused", "planned"}, + {OperationId::residual_vector_quantize_decode, "residual_vector_quantize_decode", "audio", "primitive", "planned"}, + {OperationId::residual_vector_quantize_encode, "residual_vector_quantize_encode", "audio", "primitive", "planned"}, + {OperationId::resize_bicubic, "resize_bicubic", "vision", "primitive", "planned"}, + {OperationId::resize_bilinear, "resize_bilinear", "vision", "primitive", "planned"}, + {OperationId::resize_normalize_layout_quant, "resize_normalize_layout_quant", "vision", "fused", "planned"}, + {OperationId::rms_norm, "rms_norm", "norms", "operation", "observed"}, + {OperationId::rms_norm_backward, "rms_norm_backward", "norms", "operation", "observed"}, + {OperationId::rms_norm_residual_next, "rms_norm_residual_next", "norms", "operation", "observed"}, + {OperationId::rnnt_beam_step, "rnnt_beam_step", "audio", "primitive", "planned"}, + {OperationId::rnnt_joiner, "rnnt_joiner", "audio", "primitive", "planned"}, + {OperationId::roi_align, "roi_align", "vision", "primitive", "planned"}, + {OperationId::roll_2d, "roll_2d", "utils", "operation", "observed"}, + {OperationId::rope, "rope", "attention", "operation", "observed"}, + {OperationId::rope_3d, "rope_3d", "diffusion", "primitive", "planned"}, + {OperationId::rotary_positioned, "rotary_positioned", "attention", "operation", "observed"}, + {OperationId::rvq_distance_argmin_residual_update, "rvq_distance_argmin_residual_update", "audio", "fused", "planned"}, + {OperationId::rwkv_wkv6, "rwkv_wkv6", "linear_attention", "operation", "observed"}, + {OperationId::rwkv_wkv7, "rwkv_wkv7", "linear_attention", "operation", "observed"}, + {OperationId::sample_categorical, "sample_categorical", "sampling", "operation", "observed"}, + {OperationId::scale, "scale", "utils", "operation", "observed"}, + {OperationId::selective_scan, "selective_scan", "ssm", "operation", "observed"}, + {OperationId::set_rows, "set_rows", "utils", "operation", "observed"}, + {OperationId::sgd, "sgd", "optimizers", "operation", "observed"}, + {OperationId::sigmoid_mul, "sigmoid_mul", "activations", "operation", "observed"}, + {OperationId::sigmoid_mul_backward, "sigmoid_mul_backward", "activations", "operation", "observed"}, + {OperationId::silu, "silu", "activations", "operation", "observed"}, + {OperationId::silu_backward, "silu_backward", "activations", "operation", "observed"}, + {OperationId::sine, "sine", "utils", "operation", "observed"}, + {OperationId::softmax, "softmax", "activations", "operation", "observed"}, + {OperationId::softmax_backward, "softmax_backward", "activations", "operation", "observed"}, + {OperationId::solve_lower_triangular, "solve_lower_triangular", "utils", "operation", "observed"}, + {OperationId::space_to_depth_norm_linear, "space_to_depth_norm_linear", "vision", "operation", "observed"}, + {OperationId::speculative_verify_accept_compact_kv, "speculative_verify_accept_compact_kv", "serving", "fused", "planned"}, + {OperationId::square, "square", "utils", "operation", "observed"}, + {OperationId::square_root, "square_root", "utils", "operation", "observed"}, + {OperationId::ssd_chunked_backward, "ssd_chunked_backward", "ssm", "operation", "observed"}, + {OperationId::ssd_decode, "ssd_decode", "ssm", "operation", "observed"}, + {OperationId::stft, "stft", "audio", "primitive", "planned"}, + {OperationId::streaming_conv1d_state, "streaming_conv1d_state", "audio", "primitive", "planned"}, + {OperationId::subtract, "subtract", "utils", "operation", "observed"}, + {OperationId::swiglu_oai, "swiglu_oai", "activations", "operation", "observed"}, + {OperationId::temporal_upsample_conv3d, "temporal_upsample_conv3d", "convolution", "fused", "planned"}, + {OperationId::tensor_copy, "tensor_copy", "utils", "operation", "observed"}, + {OperationId::tensor_set_4d, "tensor_set_4d", "utils", "operation", "observed"}, + {OperationId::ternary_code_flip_count, "ternary_code_flip_count", "quantization", "operation", "observed"}, + {OperationId::ternary_pack, "ternary_pack", "quantization", "operation", "observed"}, + {OperationId::ternary_stats, "ternary_stats", "quantization", "operation", "observed"}, + {OperationId::ternary_unpack, "ternary_unpack", "quantization", "operation", "observed"}, + {OperationId::threshold_topk_indices, "threshold_topk_indices", "utils", "operation", "observed"}, + {OperationId::timestep_embedding, "timestep_embedding", "vision", "operation", "observed"}, + {OperationId::top_k_renorm, "top_k_renorm", "sampling", "operation", "observed"}, + {OperationId::top_k_sample, "top_k_sample", "sampling", "operation", "observed"}, + {OperationId::top_p_renorm, "top_p_renorm", "sampling", "operation", "observed"}, + {OperationId::tq2_0_pack, "tq2_0_pack", "quantization", "operation", "observed"}, + {OperationId::tq2_0_unpack, "tq2_0_unpack", "quantization", "operation", "observed"}, + {OperationId::triangular_fill, "triangular_fill", "utils", "operation", "observed"}, + {OperationId::turboquant, "turboquant", "quantization", "operation", "observed"}, + {OperationId::unary, "unary", "activations", "operation", "observed"}, + {OperationId::unpatchify_nd, "unpatchify_nd", "diffusion", "primitive", "planned"}, + {OperationId::upsample_3d, "upsample_3d", "convolution", "primitive", "planned"}, + {OperationId::upsample_conv2d, "upsample_conv2d", "convolution", "fused", "planned"}, + {OperationId::upscale_nearest_2d, "upscale_nearest_2d", "vision", "operation", "observed"}, + {OperationId::value_clip, "value_clip", "activations", "operation", "observed"}, + {OperationId::vision_patch_projection, "vision_patch_projection", "vision", "operation", "observed"}, + {OperationId::vision_patch_projection_3d, "vision_patch_projection_3d", "vision", "operation", "observed"}, + {OperationId::vision_rope_2d, "vision_rope_2d", "vision", "operation", "observed"}, + {OperationId::window_attention, "window_attention", "attention", "operation", "observed"}, + {OperationId::window_partition, "window_partition", "vision", "operation", "observed"}, + {OperationId::window_rfft_power_mel_log, "window_rfft_power_mel_log", "audio", "fused", "planned"}, + {OperationId::window_unpartition, "window_unpartition", "vision", "operation", "observed"}, +}}; + +[[nodiscard]] constexpr std::string_view operation_name(OperationId id) noexcept { + for (const auto& operation : kOperations) { + if (operation.id == id) return operation.name; + } + return {}; +} + +} // namespace quixicore::contract diff --git a/include/quixicore/cpu/contract.hpp b/include/quixicore/cpu/contract.hpp new file mode 100644 index 0000000..a7e1baa --- /dev/null +++ b/include/quixicore/cpu/contract.hpp @@ -0,0 +1,172 @@ +#pragma once + +// Generated canonical contract include for the cpu backend. +// Native optimized APIs remain backend-owned behind this adapter surface. + +#include "quixicore/contract/kernel_abi.hpp" +#include "quixicore/contract/operations.hpp" +#include "quixicore/cpu/contract_stubs.hpp" + +namespace quixicore::cpu::contract_api { + +[[nodiscard]] inline quixicore::contract::Status dispatch( + quixicore::contract::OperationId operation, + const quixicore::contract::KernelCall& call) noexcept { + switch (operation) { + case quixicore::contract::OperationId::adaptive_norm_modulation: + return quixicore::cpu::contract_stubs::adaptive_norm_modulation(call); + case quixicore::contract::OperationId::adaptive_norm_modulation_qkv: + return quixicore::cpu::contract_stubs::adaptive_norm_modulation_qkv(call); + case quixicore::contract::OperationId::adaptive_rms_norm_modulation: + return quixicore::cpu::contract_stubs::adaptive_rms_norm_modulation(call); + case quixicore::contract::OperationId::adaptive_rms_norm_modulation_qkv: + return quixicore::cpu::contract_stubs::adaptive_rms_norm_modulation_qkv(call); + case quixicore::contract::OperationId::all_gather_gemm: + return quixicore::cpu::contract_stubs::all_gather_gemm(call); + case quixicore::contract::OperationId::all_reduce_rms_norm: + return quixicore::cpu::contract_stubs::all_reduce_rms_norm(call); + case quixicore::contract::OperationId::attention_gate_residual: + return quixicore::cpu::contract_stubs::attention_gate_residual(call); + case quixicore::contract::OperationId::audio_resample: + return quixicore::cpu::contract_stubs::audio_resample(call); + case quixicore::contract::OperationId::causal_conv3d_cache_update: + return quixicore::cpu::contract_stubs::causal_conv3d_cache_update(call); + case quixicore::contract::OperationId::causal_conv_gate_residual: + return quixicore::cpu::contract_stubs::causal_conv_gate_residual(call); + case quixicore::contract::OperationId::classifier_free_guidance_combine: + return quixicore::cpu::contract_stubs::classifier_free_guidance_combine(call); + case quixicore::contract::OperationId::classifier_free_guidance_scheduler_step: + return quixicore::cpu::contract_stubs::classifier_free_guidance_scheduler_step(call); + case quixicore::contract::OperationId::conv_transpose_overlap_add: + return quixicore::cpu::contract_stubs::conv_transpose_overlap_add(call); + case quixicore::contract::OperationId::ctc_decode: + return quixicore::cpu::contract_stubs::ctc_decode(call); + case quixicore::contract::OperationId::deformable_attention: + return quixicore::cpu::contract_stubs::deformable_attention(call); + case quixicore::contract::OperationId::deterministic_noise: + return quixicore::cpu::contract_stubs::deterministic_noise(call); + case quixicore::contract::OperationId::diffusion_scheduler_step: + return quixicore::cpu::contract_stubs::diffusion_scheduler_step(call); + case quixicore::contract::OperationId::down_projection_residual: + return quixicore::cpu::contract_stubs::down_projection_residual(call); + case quixicore::contract::OperationId::downsample_3d: + return quixicore::cpu::contract_stubs::downsample_3d(call); + case quixicore::contract::OperationId::downsample_conv2d: + return quixicore::cpu::contract_stubs::downsample_conv2d(call); + case quixicore::contract::OperationId::flow_euler_step: + return quixicore::cpu::contract_stubs::flow_euler_step(call); + case quixicore::contract::OperationId::flow_step_action_clamp_denormalize: + return quixicore::cpu::contract_stubs::flow_step_action_clamp_denormalize(call); + case quixicore::contract::OperationId::gate_up_projection_swiglu: + return quixicore::cpu::contract_stubs::gate_up_projection_swiglu(call); + case quixicore::contract::OperationId::geglu_projection: + return quixicore::cpu::contract_stubs::geglu_projection(call); + case quixicore::contract::OperationId::grammar_mask: + return quixicore::cpu::contract_stubs::grammar_mask(call); + case quixicore::contract::OperationId::grid_sample: + return quixicore::cpu::contract_stubs::grid_sample(call); + case quixicore::contract::OperationId::group_norm_silu: + return quixicore::cpu::contract_stubs::group_norm_silu(call); + case quixicore::contract::OperationId::istft: + return quixicore::cpu::contract_stubs::istft(call); + case quixicore::contract::OperationId::joint_multimodal_attention: + return quixicore::cpu::contract_stubs::joint_multimodal_attention(call); + case quixicore::contract::OperationId::kv_cache_compact: + return quixicore::cpu::contract_stubs::kv_cache_compact(call); + case quixicore::contract::OperationId::kv_cache_offload: + return quixicore::cpu::contract_stubs::kv_cache_offload(call); + case quixicore::contract::OperationId::log_mel_spectrogram: + return quixicore::cpu::contract_stubs::log_mel_spectrogram(call); + case quixicore::contract::OperationId::logits_bias_penalties_top_k_top_p_sample: + return quixicore::cpu::contract_stubs::logits_bias_penalties_top_k_top_p_sample(call); + case quixicore::contract::OperationId::mixed_prefill_decode_attention: + return quixicore::cpu::contract_stubs::mixed_prefill_decode_attention(call); + case quixicore::contract::OperationId::moe_all_to_all_dispatch: + return quixicore::cpu::contract_stubs::moe_all_to_all_dispatch(call); + case quixicore::contract::OperationId::moe_grouped_gemm_swiglu: + return quixicore::cpu::contract_stubs::moe_grouped_gemm_swiglu(call); + case quixicore::contract::OperationId::moe_route_top_k_prefix_sum_permute: + return quixicore::cpu::contract_stubs::moe_route_top_k_prefix_sum_permute(call); + case quixicore::contract::OperationId::moe_unpermute_weighted_reduce: + return quixicore::cpu::contract_stubs::moe_unpermute_weighted_reduce(call); + case quixicore::contract::OperationId::multi_codebook_sample: + return quixicore::cpu::contract_stubs::multi_codebook_sample(call); + case quixicore::contract::OperationId::multimodal_rope_nd: + return quixicore::cpu::contract_stubs::multimodal_rope_nd(call); + case quixicore::contract::OperationId::multimodal_stream_deinterleave: + return quixicore::cpu::contract_stubs::multimodal_stream_deinterleave(call); + case quixicore::contract::OperationId::multimodal_stream_interleave: + return quixicore::cpu::contract_stubs::multimodal_stream_interleave(call); + case quixicore::contract::OperationId::multistream_logits_codebook_sample: + return quixicore::cpu::contract_stubs::multistream_logits_codebook_sample(call); + case quixicore::contract::OperationId::non_max_suppression: + return quixicore::cpu::contract_stubs::non_max_suppression(call); + case quixicore::contract::OperationId::overlap_add: + return quixicore::cpu::contract_stubs::overlap_add(call); + case quixicore::contract::OperationId::paged_attention_output_projection_residual: + return quixicore::cpu::contract_stubs::paged_attention_output_projection_residual(call); + case quixicore::contract::OperationId::patchify_nd: + return quixicore::cpu::contract_stubs::patchify_nd(call); + case quixicore::contract::OperationId::patchify_projection_position: + return quixicore::cpu::contract_stubs::patchify_projection_position(call); + case quixicore::contract::OperationId::pixel_shuffle: + return quixicore::cpu::contract_stubs::pixel_shuffle(call); + case quixicore::contract::OperationId::prefix_append_attention: + return quixicore::cpu::contract_stubs::prefix_append_attention(call); + case quixicore::contract::OperationId::qk_norm_rope_attention: + return quixicore::cpu::contract_stubs::qk_norm_rope_attention(call); + case quixicore::contract::OperationId::qkv_projection_qk_norm_rope_kv_append: + return quixicore::cpu::contract_stubs::qkv_projection_qk_norm_rope_kv_append(call); + case quixicore::contract::OperationId::ragged_pack: + return quixicore::cpu::contract_stubs::ragged_pack(call); + case quixicore::contract::OperationId::ragged_unpack: + return quixicore::cpu::contract_stubs::ragged_unpack(call); + case quixicore::contract::OperationId::reduce_scatter_gemm: + return quixicore::cpu::contract_stubs::reduce_scatter_gemm(call); + case quixicore::contract::OperationId::residual_rms_norm_quant: + return quixicore::cpu::contract_stubs::residual_rms_norm_quant(call); + case quixicore::contract::OperationId::residual_vector_quantize_decode: + return quixicore::cpu::contract_stubs::residual_vector_quantize_decode(call); + case quixicore::contract::OperationId::residual_vector_quantize_encode: + return quixicore::cpu::contract_stubs::residual_vector_quantize_encode(call); + case quixicore::contract::OperationId::resize_bicubic: + return quixicore::cpu::contract_stubs::resize_bicubic(call); + case quixicore::contract::OperationId::resize_bilinear: + return quixicore::cpu::contract_stubs::resize_bilinear(call); + case quixicore::contract::OperationId::resize_normalize_layout_quant: + return quixicore::cpu::contract_stubs::resize_normalize_layout_quant(call); + case quixicore::contract::OperationId::rnnt_beam_step: + return quixicore::cpu::contract_stubs::rnnt_beam_step(call); + case quixicore::contract::OperationId::rnnt_joiner: + return quixicore::cpu::contract_stubs::rnnt_joiner(call); + case quixicore::contract::OperationId::roi_align: + return quixicore::cpu::contract_stubs::roi_align(call); + case quixicore::contract::OperationId::rope_3d: + return quixicore::cpu::contract_stubs::rope_3d(call); + case quixicore::contract::OperationId::rvq_distance_argmin_residual_update: + return quixicore::cpu::contract_stubs::rvq_distance_argmin_residual_update(call); + case quixicore::contract::OperationId::speculative_verify_accept_compact_kv: + return quixicore::cpu::contract_stubs::speculative_verify_accept_compact_kv(call); + case quixicore::contract::OperationId::stft: + return quixicore::cpu::contract_stubs::stft(call); + case quixicore::contract::OperationId::streaming_conv1d_state: + return quixicore::cpu::contract_stubs::streaming_conv1d_state(call); + case quixicore::contract::OperationId::temporal_upsample_conv3d: + return quixicore::cpu::contract_stubs::temporal_upsample_conv3d(call); + case quixicore::contract::OperationId::unpatchify_nd: + return quixicore::cpu::contract_stubs::unpatchify_nd(call); + case quixicore::contract::OperationId::upsample_3d: + return quixicore::cpu::contract_stubs::upsample_3d(call); + case quixicore::contract::OperationId::upsample_conv2d: + return quixicore::cpu::contract_stubs::upsample_conv2d(call); + case quixicore::contract::OperationId::window_rfft_power_mel_log: + return quixicore::cpu::contract_stubs::window_rfft_power_mel_log(call); + default: + break; + } + const auto name = quixicore::contract::operation_name(operation); + return quixicore::contract::adapter_not_wired( + name.empty() ? "unknown_operation" : name.data()); +} + +} // namespace quixicore::cpu::contract_api diff --git a/include/quixicore/cpu/contract_stubs.hpp b/include/quixicore/cpu/contract_stubs.hpp new file mode 100644 index 0000000..607c7a9 --- /dev/null +++ b/include/quixicore/cpu/contract_stubs.hpp @@ -0,0 +1,389 @@ +#pragma once + +// Generated by QuixiCore/tools/sync_kernel_contract.rb. Do not edit. +// These adapters are scaffolding only and make no implementation claim. + +#include + +#include "quixicore/contract/kernel_abi.hpp" + +namespace quixicore::cpu::contract_stubs { + +using quixicore::contract::KernelCall; +using quixicore::contract::Status; +using quixicore::contract::StubDescriptor; + +[[nodiscard]] inline Status adaptive_norm_modulation(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("adaptive_norm_modulation", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status adaptive_norm_modulation_qkv(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("adaptive_norm_modulation_qkv", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status adaptive_rms_norm_modulation(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("adaptive_rms_norm_modulation", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status adaptive_rms_norm_modulation_qkv(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("adaptive_rms_norm_modulation_qkv", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status all_gather_gemm(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("all_gather_gemm", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status all_reduce_rms_norm(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("all_reduce_rms_norm", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status attention_gate_residual(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("attention_gate_residual", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status audio_resample(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("audio_resample", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status causal_conv3d_cache_update(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("causal_conv3d_cache_update", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status causal_conv_gate_residual(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("causal_conv_gate_residual", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status classifier_free_guidance_combine(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("classifier_free_guidance_combine", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status classifier_free_guidance_scheduler_step(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("classifier_free_guidance_scheduler_step", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status conv_transpose_overlap_add(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("conv_transpose_overlap_add", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status ctc_decode(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("ctc_decode", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status deformable_attention(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("deformable_attention", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status deterministic_noise(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("deterministic_noise", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status diffusion_scheduler_step(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("diffusion_scheduler_step", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status down_projection_residual(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("down_projection_residual", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status downsample_3d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("downsample_3d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status downsample_conv2d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("downsample_conv2d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status flow_euler_step(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("flow_euler_step", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status flow_step_action_clamp_denormalize(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("flow_step_action_clamp_denormalize", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status gate_up_projection_swiglu(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("gate_up_projection_swiglu", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status geglu_projection(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("geglu_projection", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status grammar_mask(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("grammar_mask", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status grid_sample(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("grid_sample", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status group_norm_silu(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("group_norm_silu", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status istft(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("istft", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status joint_multimodal_attention(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("joint_multimodal_attention", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status kv_cache_compact(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("kv_cache_compact", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status kv_cache_offload(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("kv_cache_offload", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status log_mel_spectrogram(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("log_mel_spectrogram", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status logits_bias_penalties_top_k_top_p_sample(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("logits_bias_penalties_top_k_top_p_sample", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status mixed_prefill_decode_attention(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("mixed_prefill_decode_attention", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status moe_all_to_all_dispatch(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("moe_all_to_all_dispatch", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status moe_grouped_gemm_swiglu(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("moe_grouped_gemm_swiglu", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status moe_route_top_k_prefix_sum_permute(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("moe_route_top_k_prefix_sum_permute", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status moe_unpermute_weighted_reduce(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("moe_unpermute_weighted_reduce", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status multi_codebook_sample(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("multi_codebook_sample", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status multimodal_rope_nd(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("multimodal_rope_nd", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status multimodal_stream_deinterleave(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("multimodal_stream_deinterleave", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status multimodal_stream_interleave(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("multimodal_stream_interleave", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status multistream_logits_codebook_sample(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("multistream_logits_codebook_sample", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status non_max_suppression(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("non_max_suppression", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status overlap_add(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("overlap_add", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status paged_attention_output_projection_residual(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("paged_attention_output_projection_residual", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status patchify_nd(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("patchify_nd", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status patchify_projection_position(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("patchify_projection_position", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status pixel_shuffle(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("pixel_shuffle", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status prefix_append_attention(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("prefix_append_attention", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status qk_norm_rope_attention(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("qk_norm_rope_attention", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status qkv_projection_qk_norm_rope_kv_append(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("qkv_projection_qk_norm_rope_kv_append", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status ragged_pack(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("ragged_pack", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status ragged_unpack(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("ragged_unpack", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status reduce_scatter_gemm(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("reduce_scatter_gemm", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status residual_rms_norm_quant(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("residual_rms_norm_quant", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status residual_vector_quantize_decode(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("residual_vector_quantize_decode", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status residual_vector_quantize_encode(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("residual_vector_quantize_encode", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status resize_bicubic(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("resize_bicubic", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status resize_bilinear(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("resize_bilinear", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status resize_normalize_layout_quant(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("resize_normalize_layout_quant", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status rnnt_beam_step(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("rnnt_beam_step", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status rnnt_joiner(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("rnnt_joiner", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status roi_align(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("roi_align", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status rope_3d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("rope_3d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status rvq_distance_argmin_residual_update(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("rvq_distance_argmin_residual_update", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status speculative_verify_accept_compact_kv(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("speculative_verify_accept_compact_kv", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status stft(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("stft", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status streaming_conv1d_state(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("streaming_conv1d_state", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status temporal_upsample_conv3d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("temporal_upsample_conv3d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status unpatchify_nd(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("unpatchify_nd", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status upsample_3d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("upsample_3d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status upsample_conv2d(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("upsample_conv2d", "planned contract; no backend implementation evidence"); +} + +[[nodiscard]] inline Status window_rfft_power_mel_log(const KernelCall&) noexcept { + return quixicore::contract::not_implemented("window_rfft_power_mel_log", "planned contract; no backend implementation evidence"); +} + +inline constexpr std::array kStubs{{ + {"adaptive_norm_modulation", "diffusion", "planned contract; no backend implementation evidence", &adaptive_norm_modulation}, + {"adaptive_norm_modulation_qkv", "diffusion", "planned contract; no backend implementation evidence", &adaptive_norm_modulation_qkv}, + {"adaptive_rms_norm_modulation", "diffusion", "planned contract; no backend implementation evidence", &adaptive_rms_norm_modulation}, + {"adaptive_rms_norm_modulation_qkv", "diffusion", "planned contract; no backend implementation evidence", &adaptive_rms_norm_modulation_qkv}, + {"all_gather_gemm", "collectives", "planned contract; no backend implementation evidence", &all_gather_gemm}, + {"all_reduce_rms_norm", "collectives", "planned contract; no backend implementation evidence", &all_reduce_rms_norm}, + {"attention_gate_residual", "attention", "planned contract; no backend implementation evidence", &attention_gate_residual}, + {"audio_resample", "audio", "planned contract; no backend implementation evidence", &audio_resample}, + {"causal_conv3d_cache_update", "convolution", "planned contract; no backend implementation evidence", &causal_conv3d_cache_update}, + {"causal_conv_gate_residual", "audio", "planned contract; no backend implementation evidence", &causal_conv_gate_residual}, + {"classifier_free_guidance_combine", "diffusion", "planned contract; no backend implementation evidence", &classifier_free_guidance_combine}, + {"classifier_free_guidance_scheduler_step", "diffusion", "planned contract; no backend implementation evidence", &classifier_free_guidance_scheduler_step}, + {"conv_transpose_overlap_add", "audio", "planned contract; no backend implementation evidence", &conv_transpose_overlap_add}, + {"ctc_decode", "audio", "planned contract; no backend implementation evidence", &ctc_decode}, + {"deformable_attention", "vision", "planned contract; no backend implementation evidence", &deformable_attention}, + {"deterministic_noise", "diffusion", "planned contract; no backend implementation evidence", &deterministic_noise}, + {"diffusion_scheduler_step", "diffusion", "planned contract; no backend implementation evidence", &diffusion_scheduler_step}, + {"down_projection_residual", "matmul", "planned contract; no backend implementation evidence", &down_projection_residual}, + {"downsample_3d", "convolution", "planned contract; no backend implementation evidence", &downsample_3d}, + {"downsample_conv2d", "convolution", "planned contract; no backend implementation evidence", &downsample_conv2d}, + {"flow_euler_step", "diffusion", "planned contract; no backend implementation evidence", &flow_euler_step}, + {"flow_step_action_clamp_denormalize", "vla_world_models", "planned contract; no backend implementation evidence", &flow_step_action_clamp_denormalize}, + {"gate_up_projection_swiglu", "matmul", "planned contract; no backend implementation evidence", &gate_up_projection_swiglu}, + {"geglu_projection", "matmul", "planned contract; no backend implementation evidence", &geglu_projection}, + {"grammar_mask", "sampling", "planned contract; no backend implementation evidence", &grammar_mask}, + {"grid_sample", "vision", "planned contract; no backend implementation evidence", &grid_sample}, + {"group_norm_silu", "convolution", "planned contract; no backend implementation evidence", &group_norm_silu}, + {"istft", "audio", "planned contract; no backend implementation evidence", &istft}, + {"joint_multimodal_attention", "multimodal", "planned contract; no backend implementation evidence", &joint_multimodal_attention}, + {"kv_cache_compact", "serving", "planned contract; no backend implementation evidence", &kv_cache_compact}, + {"kv_cache_offload", "serving", "planned contract; no backend implementation evidence", &kv_cache_offload}, + {"log_mel_spectrogram", "audio", "planned contract; no backend implementation evidence", &log_mel_spectrogram}, + {"logits_bias_penalties_top_k_top_p_sample", "sampling", "planned contract; no backend implementation evidence", &logits_bias_penalties_top_k_top_p_sample}, + {"mixed_prefill_decode_attention", "attention", "planned contract; no backend implementation evidence", &mixed_prefill_decode_attention}, + {"moe_all_to_all_dispatch", "collectives", "planned contract; no backend implementation evidence", &moe_all_to_all_dispatch}, + {"moe_grouped_gemm_swiglu", "moe", "planned contract; no backend implementation evidence", &moe_grouped_gemm_swiglu}, + {"moe_route_top_k_prefix_sum_permute", "moe", "planned contract; no backend implementation evidence", &moe_route_top_k_prefix_sum_permute}, + {"moe_unpermute_weighted_reduce", "moe", "planned contract; no backend implementation evidence", &moe_unpermute_weighted_reduce}, + {"multi_codebook_sample", "audio", "planned contract; no backend implementation evidence", &multi_codebook_sample}, + {"multimodal_rope_nd", "multimodal", "planned contract; no backend implementation evidence", &multimodal_rope_nd}, + {"multimodal_stream_deinterleave", "multimodal", "planned contract; no backend implementation evidence", &multimodal_stream_deinterleave}, + {"multimodal_stream_interleave", "multimodal", "planned contract; no backend implementation evidence", &multimodal_stream_interleave}, + {"multistream_logits_codebook_sample", "audio", "planned contract; no backend implementation evidence", &multistream_logits_codebook_sample}, + {"non_max_suppression", "vision", "planned contract; no backend implementation evidence", &non_max_suppression}, + {"overlap_add", "audio", "planned contract; no backend implementation evidence", &overlap_add}, + {"paged_attention_output_projection_residual", "attention", "planned contract; no backend implementation evidence", &paged_attention_output_projection_residual}, + {"patchify_nd", "diffusion", "planned contract; no backend implementation evidence", &patchify_nd}, + {"patchify_projection_position", "vision", "planned contract; no backend implementation evidence", &patchify_projection_position}, + {"pixel_shuffle", "vision", "planned contract; no backend implementation evidence", &pixel_shuffle}, + {"prefix_append_attention", "attention", "planned contract; no backend implementation evidence", &prefix_append_attention}, + {"qk_norm_rope_attention", "attention", "planned contract; no backend implementation evidence", &qk_norm_rope_attention}, + {"qkv_projection_qk_norm_rope_kv_append", "attention", "planned contract; no backend implementation evidence", &qkv_projection_qk_norm_rope_kv_append}, + {"ragged_pack", "multimodal", "planned contract; no backend implementation evidence", &ragged_pack}, + {"ragged_unpack", "multimodal", "planned contract; no backend implementation evidence", &ragged_unpack}, + {"reduce_scatter_gemm", "collectives", "planned contract; no backend implementation evidence", &reduce_scatter_gemm}, + {"residual_rms_norm_quant", "norms", "planned contract; no backend implementation evidence", &residual_rms_norm_quant}, + {"residual_vector_quantize_decode", "audio", "planned contract; no backend implementation evidence", &residual_vector_quantize_decode}, + {"residual_vector_quantize_encode", "audio", "planned contract; no backend implementation evidence", &residual_vector_quantize_encode}, + {"resize_bicubic", "vision", "planned contract; no backend implementation evidence", &resize_bicubic}, + {"resize_bilinear", "vision", "planned contract; no backend implementation evidence", &resize_bilinear}, + {"resize_normalize_layout_quant", "vision", "planned contract; no backend implementation evidence", &resize_normalize_layout_quant}, + {"rnnt_beam_step", "audio", "planned contract; no backend implementation evidence", &rnnt_beam_step}, + {"rnnt_joiner", "audio", "planned contract; no backend implementation evidence", &rnnt_joiner}, + {"roi_align", "vision", "planned contract; no backend implementation evidence", &roi_align}, + {"rope_3d", "diffusion", "planned contract; no backend implementation evidence", &rope_3d}, + {"rvq_distance_argmin_residual_update", "audio", "planned contract; no backend implementation evidence", &rvq_distance_argmin_residual_update}, + {"speculative_verify_accept_compact_kv", "serving", "planned contract; no backend implementation evidence", &speculative_verify_accept_compact_kv}, + {"stft", "audio", "planned contract; no backend implementation evidence", &stft}, + {"streaming_conv1d_state", "audio", "planned contract; no backend implementation evidence", &streaming_conv1d_state}, + {"temporal_upsample_conv3d", "convolution", "planned contract; no backend implementation evidence", &temporal_upsample_conv3d}, + {"unpatchify_nd", "diffusion", "planned contract; no backend implementation evidence", &unpatchify_nd}, + {"upsample_3d", "convolution", "planned contract; no backend implementation evidence", &upsample_3d}, + {"upsample_conv2d", "convolution", "planned contract; no backend implementation evidence", &upsample_conv2d}, + {"window_rfft_power_mel_log", "audio", "planned contract; no backend implementation evidence", &window_rfft_power_mel_log}, +}}; + +} // namespace quixicore::cpu::contract_stubs