昇腾社区首页
中文
注册
开发者
下载

aclnnGatherV3

产品支持情况

[object Object]undefined

功能说明

  • 接口功能:从输入Tensor的指定维度dim,按index中的下标序号提取元素,batchDims代表运算批次。保存到out Tensor中。

  • 示例:

    例如,当batchDims为0时,输入张量 self=[123456789]self=\begin{bmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{bmatrix} 和索引张量 index=[1, 0],。

    • dim=0的结果:out=[456123]out=\begin{bmatrix}4 & 5 & 6 \\ 1 & 2 & 3\end{bmatrix}

    • dim=1的结果: out=[215487]out=\begin{bmatrix}2 & 1\\ 5 & 4\\ 8 & 7\end{bmatrix}

    具体计算过程如下: 以三维张量为例,shape为(3,2,2)的张量 self =[[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]\begin{bmatrix}[[1,&2],&[3,&4]], \\ [[5,&6],&[7,&8]], \\ [[9,&10],&[11,&12]]\end{bmatrix} index=[1, 0], self张量dim=0,1,2对应的下标分别是lmnl, m, n,index是一维(零维的情况:当成是size为1的一维)

    • dim为0:I=index[i];    out[i][m][n][i][m][n] = self[I][m][n][I][m][n]

    • dim为1:J=index[j];    out[l][j][n][l][j][n] = self[l][J][n][l][J][n]

    • dim为2:K=index[k];    out[l][m][k][l][m][k] = self[l][m][K][l][m][K]

    当batchDims为1时:以四维张量为例 shape为(3,3,2,2)的张量 self 与shape为(3,2)的张量 index,相当于进行3次batchDims为0,dim=dim-batchDims的gather操作。

函数原型

每个算子分为,必须先调用“aclnnGatherV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGatherV3”接口执行计算。

[object Object]
[object Object]

aclnnGatherV3GetWorkspaceSize

  • 参数说明

    [object Object]
  • 返回值

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错:

    [object Object]

aclnnGatherV3

  • 参数说明

    [object Object]
  • 返回值

    aclnnStatus:返回状态码,具体参见

约束说明

  • 确定性计算:
    • aclnnGatherV3默认确定性实现。

调用示例

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]