- [object Object]Ascend 950PR/Ascend 950DT[object Object]:支持
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:不支持
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:不支持
- [object Object]Atlas 200I/500 A2 推理产品[object Object]:不支持
- [object Object]Atlas 推理系列产品[object Object]:不支持
- [object Object]Atlas 训练系列产品[object Object]:不支持
接口功能:
因果一维卷积状态更新(decode / update),封装 aclnnCausalConv1dUpdate。沿序列维度使用缓存数据对各序列头部进行 padding,确保输出依赖当前及历史输入;卷积完成后可选施加 SiLU 激活;计算完成后将当前序列部分数据更新到缓存。支持缓存索引(cacheIndices)、投机解码(numAcceptedTokens)等特性。
计算公式:
在每个时间步 ,根据当前输入 、卷积权重 和历史状态,计算卷积输出 :
其中, 为卷积核宽度(支持2、3、4), 为卷积权重, 为偏置, 为激活函数(SiLU 或无激活)。
说明
- 算子同时维护卷积状态
[object Object],用于在增量推理时缓存历史输入,实现高效的状态更新。 - 模式由输入形状自动推断:x为3D且seq_len == 1时为decode/update模式;2D变长仅在提供num_accepted_tokens(投机解码)时支持。
[object Object]
返回卷积输出 Tensor y,shape 与 x 一致,dtype 与 x 一致。
- 该接口仅支持推理场景下使用。
- 该接口支持单算子模式和图模式调用。
- 不支持非连续Tensor。
[object Object]的kW仅支持2、3、4。[object Object]的state_len必须 ≥ kW-1,num_cache_lines必须 ≥ batch(未提供conv_state_indices时)。[object Object][0]必须为0,[object Object][-1]必须等于cu_seq_len,值必须非递减。[object Object]的值∈[0, num_cache_lines),或等于null_block_id表示跳过该序列。[object Object]仅在kW=4时支持,值∈[0, state_len - (kW - 1)],其中state_len为conv_state.shape[1]。0和1均对应offset=0(从conv_state起始位置读取),超出此范围会导致conv_state越界访问。- 算子入参与中间计算结果,在对应数据类型(float16/bfloat16)下,数值均不会超出该类型值域范围。
- 算子输入不支持有±inf和nan的情况。
单算子模式调用
[object Object]图模式调用
通过
[object Object]或[object Object]自动将算子转换为GE图算子,无需额外配置。[object Object]