aclnnTriu&aclnnInplaceTriu
产品支持情况
功能说明
算子功能:将输入的self张量的最后二维(按shape从左向右数)沿对角线的左下部分置零。参数diagonal可正可负,默认为零,正数表示主对角线向右上方向移动,负数表示主对角线向左下方向移动。
计算公式:下面用i表示遍历倒数第二维元素的序号(i是行索引),用j表示遍历最后一维元素的序号(j是列索引),用d表示diagonal,在(i, j)对应的二维坐标图中,i+d==j表示在对角线上。
示例:
,
triu(self, diagonal=0)的结果为:
;
调整diagonal的值,triu(self, diagonal=1)结果为:
;
调整diagonal为-1,triu(self, diagonal=-1)结果为:
。
函数原型
- aclnnTriu和aclnnInplaceTriu实现相同的功能,使用区别如下,请根据自身实际场景选择合适的算子。
- aclnnTriu:需新建一个输出张量对象存储计算结果。
- aclnnInplaceTriu:无需新建输出张量对象,直接在输入张量的内存中存储计算结果。
- 每个算子分为,必须先调用 “aclnnTriuGetWorkspaceSize” 或者 “aclnnInplaceTriuGetWorkspaceSize” 接口获取入参并根据计算流程计算所需workspace大小,再调用 “aclnnTriu” 或者 “aclnnInplaceTriu” 接口执行计算。
[object Object]
[object Object]
[object Object]
[object Object]
aclnnTriuGetWorkspaceSize
aclnnTriu
aclnnInplaceTriuGetWorkspaceSize
aclnnInplaceTriu
约束说明
- 确定性计算:
- aclnnTriu&aclnnInplaceTriu默认确定性实现。
调用示例
[object Object]