vec_ln_high_preci

功能说明

按element取自然对数:。该接口的精度高于vec_ln

函数原型

vec_ln_high_preci(mask, dst, src, work_tensor, repeat_times, dst_rep_stride, src_rep_stride)

参数说明

请参见参数说明。下面仅对dst/src/work_tensor参数进行说明:

dst/src/work_tensor数据类型保持一致,支持的数据类型为Tensor(float16)。

【work_tensor参数说明】:

work_tensor为用户定义的临时buffer空间,存储中间结果,空间限定在scope_ubuf,用于内部计算使用。

【work_tensor空间计算说明】:

  1. 根据repeat_times、mask、src_rep_stride计算出src所需要的最小空间:src_extent_size = (repeat_times - 1)*src_rep_stride*16 + mask_len

    如果mask是连续模式,mask_len即为mask值;如果mask为逐bit模式,mask_len为最高有效位的位数值。

  2. 对src最小空间进行32Byte向上取整对齐: wk_size_unit = (src_extent_size+15)//16*16
  3. 计算work_tensor大小: 10*wk_size_unit

【work_tensor空间计算举例】:

  1. 如果mask = 128,rep_times = 2,src_rep_stride = 8,则对应的mask_len = 128, src_extent_size = (2 - 1)*8*16 + mask_len = 256,wk_size_unit = (src_extent_size + 15)//16*16 = 256,最后计算work_tensor需要的空间大小为 10*wk_size_unit = 2560。
  2. 如果mask = [3, 2**64-1], rep_times = 2,src_rep_stride = 8,则对应的mask_len = 66,mask高位是3,对应的二进制bit位为"11",所以mask_len = 2 + 64;src_extent_size = (2 - 1)*8*16 + mask_len = 194,wk_size_unit = (src_extent_size + 15)//16*16 = 208,最后计算work_tensor需要的空间大小为10*wk_size_unit= 2080。

返回值

无。

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas推理系列产品AI Core

Atlas推理系列产品Vector Core

Atlas A2训练系列产品/Atlas 800I A2推理产品

Atlas 200/500 A2推理产品

注意事项

调用示例