LpNormV2概述
算子原型:

不同P值对应的处理

Fp16数据测试代码

可以看到处理上是转化为fp32再进行计算处理的
算子分析与实现
p值的不同处理
p==2.0
主要的计算代码如下,注意对于数据都是进行视为1维然后分块处理。下面是处理一块连续的计算逻辑代码:

接下来是处理完一块之后,进行规约处理:

p==inf
主要计算实现逻辑代码

处理完一块数据之后的规约处理(inf -inf 0 1.0均相同,后续就不再贴这部分的图了):

p==-inf

p==0

p==1.0

other int or float


axes的对应处理

下面是对于axes的处理,可以看到只有在搬入搬出的时候需要特殊处理,计算还是一样的逻辑。



算子优化处理

案例代码
算子实现已合并至sample仓(也可扫码直达)

LpNormV2概述
算子原型:
不同P值对应的处理
Fp16数据测试代码
可以看到处理上是转化为fp32再进行计算处理的
算子分析与实现
p值的不同处理
p==2.0
主要的计算代码如下,注意对于数据都是进行视为1维然后分块处理。下面是处理一块连续的计算逻辑代码:
接下来是处理完一块之后,进行规约处理:
p==inf
主要计算实现逻辑代码
处理完一块数据之后的规约处理(inf -inf 0 1.0均相同,后续就不再贴这部分的图了):
p==-inf
p==0
p==1.0
other int or float
axes的对应处理
下面是对于axes的处理,可以看到只有在搬入搬出的时候需要特殊处理,计算还是一样的逻辑。
算子优化处理
案例代码
算子实现已合并至sample仓(也可扫码直达)