| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
StrideAdd
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | × |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | × |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:NC1HWC0格式5D张量的局部逐元素加法。从x1和x2的C1维度指定偏移位置开始,取出c1_len个C1块数据进行加法运算。
-
计算公式:
y[n,c,h,w,c0]=x1[n,x1_c1_offset+c,h,w,c0]+x2[n,x2_c1_offset+c,h,w,c0]y[n, c, h, w, c0] = x1[n, x1\_c1\_offset + c, h, w, c0] + x2[n, x2\_c1\_offset + c, h, w, c0]
其中 c=0,1,...,c1_len−1c = 0, 1, ..., c1\_len - 1
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 第一个输入张量,NC1HWC0格式5D张量,shape为(N, C1_x1, H, W, C0)。 | FLOAT16、FLOAT、BFLOAT16 | NC1HWC0 |
| x2 | 输入 | 第二个输入张量,NC1HWC0格式5D张量,shape为(N, C1_x2, H, W, C0),dtype与x1一致。 | FLOAT16、FLOAT、BFLOAT16 | NC1HWC0 |
| y | 输出 | 输出张量,NC1HWC0格式5D张量,shape为(N, c1_len, H, W, C0),dtype与x1一致。 | FLOAT16、FLOAT、BFLOAT16 | NC1HWC0 |
| x1_c1_offset | 属性 | x1在C1维度的偏移(单位:C1块数),必须≥0。 | INT32 | - |
| x2_c1_offset | 属性 | x2在C1维度的偏移(单位:C1块数),必须≥0。 | INT32 | - |
| c1_len | 属性 | 输出y的C1维度长度(单位:C1块数),必须>0。 | INT32 | - |
约束说明
- 输入输出仅支持5维NC1HWC0格式。
- x1和x2的dtype必须一致。
- c1_len必须>0。
- x1_c1_offset + c1_len ≤ C1_x1,x2_c1_offset + c1_len ≤ C1_x2。
- x1_c1_offset ≥ 0,x2_c1_offset ≥ 0。
- x1和x2的N、H、W、C0维度必须相同。
- 当前实现仅支持C0=16。
- bfloat16输入内部使用float32中间计算(类型提升),输出转回bfloat16。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_stride_add.cpp | 通过算子IR构图方式调用StrideAdd算子 |