vec_exp
功能说明
按element取自然指数:。
函数原型
vec_exp(mask, dst, src, repeat_times, dst_rep_stride, src_rep_stride)
参数说明
请参见参数说明。
dst/src数据类型保持一致。
返回值
无
支持的型号
注意事项
- 对于
Atlas 200/300/500 推理产品 ,如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 对于
Atlas 训练系列产品 ,如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 对于
Atlas 推理系列产品 AI Core,如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 对于
Atlas 推理系列产品 Vector Core,如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 对于
Atlas A2 训练系列产品 /Atlas 800I A2 推理产品 /A200I A2 Box 异构组件, 如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 对于
Atlas 200I/500 A2 推理产品 , 如果ex满足精度要求,但使用该接口计算ex - 1时,当输入float16类型的数据时,计算精度可能不满足双千分之一(这是因为减法有误差),如果对ex - 1精度有更高要求,建议使用vec_expm1_high_preci接口。 - 其他注意事项请参考注意事项。
调用示例
此样例是针对数据量较小、一次搬运就可以完成的场景,目的是让大家了解接口的功能,更复杂的数据量较大的样例可参见调用示例。
from tbe import tik tik_instance = tik.Tik() src_gm = tik_instance.Tensor("float16", (128,), name="src_gm", scope=tik.scope_gm) src_ub = tik_instance.Tensor("float16", (128,), name="src_ub", scope=tik.scope_ubuf) dst_gm = tik_instance.Tensor("float16", (128,), name="dst_gm", scope=tik.scope_gm) dst_ub = tik_instance.Tensor("float16", (128,), name="dst_ub", scope=tik.scope_ubuf) tik_instance.data_move(src_ub, src_gm, 0, 1, 8, 0, 0) tik_instance.vec_exp(128, dst_ub, src_ub, 1, 8, 8) tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="exp", inputs=[src_gm], outputs=[dst_gm])
结果示例:
输入数据: [0, 1, 2, 3, ......] 输出数据: [1.0, 2.719, 7.391, 20.08, ......]