FilesLast commitLast update
18 days ago
2 months ago
18 days ago
18 days ago
18 days ago
18 days ago
1 month ago
18 days ago
README

Spence

产品支持情况

产品 是否支持
Ascend 950PR&950DT系列产品 √
Atlas A3系列产品 √
Atlas A2系列产品 √
Atlas 200I/500 A2推理产品 ×
Atlas推理系列产品 √
Atlas训练系列产品 √

功能说明

  • 算子功能:对输入张量的每个元素计算Spence函数(dilogarithm,双对数函数)值后输出。

  • 计算公式:

Spence(x)=∫1xln⁡t1−t dt=Li2(1−x)\text{Spence}(x) = \int_1^x \frac{\ln t}{1 - t} \, dt = \text{Li}_2(1 - x)

特殊值:

  • x<0x < 0 时输出 NaN
  • x=0x = 0 时输出 π2/6≈1.6449\pi^2/6 \approx 1.6449
  • x=1x = 1 时输出 00
  • x=+∞x = +\infty 时输出 NaN

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 Spence函数的自变量,对应公式中x。x < 0的元素输出NaN。 FLOAT16、FLOAT、BFLOAT16 ND
y 输出 Spence函数的计算结果,对应公式中Spence(x)。 FLOAT16、FLOAT、BFLOAT16 ND

约束说明

  • FLOAT16、BFLOAT16输入在kernel内部提升到FLOAT32计算,结果再转回原始数据类型。
  • 输入维度数不超过8,超过时算子报错;支持标量输入(按含1个元素的Tensor处理)、空Tensor、动态Shape与动态Rank。
  • 非连续输入由框架自动连续化后参与计算。

调用说明

调用方式 样例代码 说明
GE图模式 test_geir_spence 通过GE图模式调用Spence算子,定义算子IR的原型文件见spence_proto.h。