CausalConvWithState (CPU) ========================= * Domain: ``com.microsoft`` * Device: ``CPU`` * Kernel: ``onnx_light_cpu::CausalConvWithState`` * Supported types: ``FLOAT``, ``FLOAT16``, ``BFLOAT16`` * Opset bounds: since opset 1 Operator support ---------------- .. list-table:: :header-rows: 1 :widths: 30 70 * - Capability - Implementation * - Shape inference - :cpp:func:`onnx_light_cpu::ComputeShapeCausalConvWithState` * - Peak memory - :cpp:func:`onnx_light_cpu::ComputePeakMemoryCausalConvWithState` * - Fusion patterns - None * - Gradient - Not provided LightOpSchema ~~~~~~~~~~~~~ **Version:** 1 Stateful causal 1D depthwise convolution. Supports dilation, optional SiLU/Swish, channels-first or sequence-major channels-last layout, and unwindowed recurrent state. **Inputs** - **input** (``T``): (B, C, L), or (B, L, d_1, ...) when channels_last=1. - **weight** (``T``): (C, 1, K) depthwise weights. - **bias** (``T``): Optional (C) bias. - **past_state** (``T``): Optional previous state, same shape as present_state. **Outputs** - **output** (``T``): Same shape and type as input. - **present_state** (``T``): (B, C, (K-1)*dilation), or (B, (K-1)*dilation, d_1, ...) when channels_last=1. **Attributes** - **activation** (``STRING``): none, silu or swish. (optional, default: ``none``) - **channels_last** (``INT``): Sequence-major layout when 1. (optional, default: ``0``) - **dilation** (``INT``): Positive spacing between kernel taps. (optional, default: ``1``) - **ndim** (``INT``): Only 1 is supported on CPU. (optional, default: ``1``) - **state_window** (``INT``): Only unwindowed state (0) is supported on CPU. (optional, default: ``0``) **Type constraints** - **T**: Matching floating-point inputs and outputs. Allowed types: tensor(bfloat16), tensor(float), tensor(float16).