| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 24 天前 |
LogSpaceD
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | × |
| Atlas训练系列产品 | × |
功能说明
LogSpaceD接收固定shape的辅助Tensor assist,按TBE单端FP32语义生成长度为steps的对数间隔序列。assist固定为rank-1 [1],只承担ABI输入槽和dtype profile,其数值不参与计算。
动态能力:DynamicRankSupportFlag=true。建图时可声明[-2](unknown rank),但运行时不放宽契约:assist.shape=[1],输出rank固定为1且shape由属性推导为[steps]。
令n=steps。当n>1时ratio=(end-start)/(n-1),否则ratio=end-start;所有属性转换、插值和后续数学运算均为FP32:
xi=FP32(i)×ratio+FP32(start),i=0,1,…,steps−1.x_i=\operatorname{FP32}(i)\times ratio+\operatorname{FP32}(start),\quad i=0,1,\ldots,steps-1.
输出采用TBE三分支连续语义:
yi(32)={exp(xiln(base)),base>0,[1−2(∣xi∣−2⌊∣xi∣/2⌋)]exp(xiln∣base∣),base<0,1,base=0 ∧ xi=0,0,base=0 ∧ xi≠0.y_i^{(32)}=\begin{cases} \exp(x_i\ln(base)), & base>0,\\ \left[1-2\left(|x_i|-2\left\lfloor |x_i|/2\right\rfloor\right)\right] \exp(x_i\ln|base|), & base<0,\\ 1, & base=0\ \land\ x_i=0,\\ 0, & base=0\ \land\ x_i\ne0. \end{cases}
dtype=0/1均为兼容no-op,输出类型始终与assist相同:FP16→FP16、FP32→FP32、BF16→BF16。steps=0时输入仍为[1]、输出为[0];steps=1时全局索引为0,结果只由start决定。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| assist | 输入 | 固定rank-1 [1]载体,数值不参与计算。 | FLOAT16、FLOAT、BFLOAT16 | ND |
| y | 输出 | 对数间隔序列,shape为[steps];数据类型与assist相同,dtype为兼容no-op。 | FLOAT16、FLOAT、BFLOAT16 | ND |
| start | 属性 | 指数域起点,必选。 | FLOAT | - |
| end | 属性 | 指数域终点,必选。 | FLOAT | - |
| steps | 可选属性 | 输出元素数,默认值为100。 | INT64 | - |
| base | 可选属性 | 幂底数,默认值为10.0。 | FLOAT | - |
| dtype | 可选属性 | 历史兼容属性,仅允许0或1,默认值为1;两者均不改变输出类型。 | INT64 | - |
约束说明
- 建图支持
DynamicRankSupportFlag=true,可声明[-2]unknown rank;运行时assist必须为[1],y必须为[steps],两者shape不绑定且不原地复用。 assist支持FLOAT16、FLOAT、BFLOAT16输入,输出与输入同型;与dtype=0/1组成六种合法组合。dtype仅允许0或1,均为兼容no-op,不改变输出类型。- 不支持FLOAT64输入、FLOAT64输出或FLOAT64数学运算;所有组合均使用FP32主计算链,FLOAT16输出仅在末端转换一次。
start、end、base必须为有限FLOAT值;负底数使用连续余数符号分支,零底数使用x_i==0 ? 1 : 0分支,不采用通用Pow特殊值语义。steps必须非负并且只决定输出长度;输入长度固定为1。仅支持ND格式,不支持广播、端点Tensor、axis或endpoint=False。- 仅支持Ascend 950PR&950DT系列产品的独立GEIR调用通路,算法Workspace为0。ACLNN组合通路的
result可能是多维张量,不能据此改写独立GEIR的运行时 assist 约束。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| GE图模式 | - | 图IR定义参见LogSpaceD原型。算子原型为LogSpaceD(assist, start, end, steps=100, base=10.0, dtype=1) -> y。 |