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

asdInterpWithCoeff

产品支持情况

硬件型号

支持情况

Atlas 200I/500 A2 推理产品

不支持

Atlas 推理系列产品

不支持

Atlas 训练系列产品

不支持

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

支持

Atlas A3 推理系列产品 / Atlas A3 训练系列产品

支持

功能描述

接口功能

  • asdInterpWithCoeffGetWorkspaceSize:计算asdInterpWithCoeff算子所需的workspace大小。
  • asdInterpWithCoeff:支持向量插值操作能力,主要用于数据符号的信道估计,或者均衡系数插值。

计算公式

asdInterpWithCoeff的计算公式
  • 即两个矩阵对应位置的元素相乘

  • 示例:

    输入“A”为:

    [ [ 1+1i, 1+1i ],
      [ 2+2i, 2+2i ] ]

    输入“B”为:

    [ [ 1+1i, 1+1i ],
      [ 2+2i, 2+2i ] ]

    调用“asdMul”算子后,

    输出“result”为:

    [ [ 0+2i, 0+2i ],
      [ 0+8i, 0+8i ] ]

函数原型

AspbStatus asdInterpWithCoeffGetWorkspaceSize(size_t &workspaceSize);

AspbStatus asdInterpWithCoeff(const aclTensor *x, const aclTensor *coefficient, aclTensor *y, void *stream, void *workSpace = nullptr);

参数说明

  • asdInterpWithCoeffGetWorkspaceSize

    参数名称

    Input/Output

    类型

    描述

    workspaceSize

    Input

    size_t *

    asdInterpWithCoeff算子所需要的workspace。

  • asdInterpWithCoeff

    参数名称

    Input/Output

    类型

    描述

    x

    Input

    aclTensor *

    公式中的B,Device侧的tensor,数据类型支持COMPLEX32、COMPLEX64,数据格式支持ND,shape为[batch,nRs, totalSubcarrier]

    coefficient

    Input

    aclTensor *

    公式中的A,Device侧的tensor,数据类型支持COMPLEX32、COMPLEX64,数据格式支持ND,shape为[batch, 14-nRs, nRs]

    y

    Input

    aclTensor *

    公式中的result,Device侧的tensor,数据类型支持COMPLEX32、COMPLEX64,数据格式支持ND,shape为[batch,14-nRs, totalSubcarrier]

    stream

    Input

    void*

    NPU执行流。

    workspace

    Input

    void *

    asdInterpWithCoeff算子所需要的workspace。

  • batch:波束数量,取值范围是1~1024 (6G时最大取值为16(终端的流数)*64(基站接收的波束数)=1024)。
  • nRs:参考信号数,取值是2、4。
  • nRB:资源块数,取值范围是1~2730 (每RB包含12个子载波,5G时取值范围是1~273, 6G时取值是5G的4倍到10倍)
  • totalSubcarrier = nRB*12

返回值说明

返回值相关说明参见返回值

约束说明

  • asdInterpWithCoeffGetWorkspaceSize:无
  • asdMul
    • 支持的CANN版本为CANN8.0及以上。
    • 输入支持的数据类型为COMPLEX32、COMPLEX64。
    • 输出支持的数据类型为COMPLEX32、COMPLEX64。

调用示例

算子的调用示例参见asdInterpWithCoeff