昇腾社区首页
中文
注册

Dot

功能描述

  • asdBlasMakeDotPlan

    接口功能:初始化该句柄对应的Dot算子配置。

  • asdBlasSdot

    接口功能:计算两个实数向量的点积。

  • asdBlasCdotu

    接口功能:计算两个复数向量的点积。

  • asdBlasCdotc

    接口功能:计算一个复数向量取共轭后和另一个复数向量的点积。

计算公式

  • asdBlasSdot
    • 计算公式:
    • 示例:

      输入“x”为:

      [1.0, 2.0]

      输入“y”为:

      [1.0, 2.0]

      调用“Sdot”算子后,

      输出“result”为:

      5.0
  • asdBlasCdotu
    • 计算公式:

      其中,x[i]和y[i]是复数。

    • 示例:

      输入“x”为:

      [ 0.1554+0.8840j, -0.3564-0.2552j]

      输入“y”为:

      [-0.1404+1.3380j, -0.4876+0.1842j]

      调用“Cdotu”算子后,

      输出“result”为:

      -0.9838+0.1425j
  • asdBlasCdotc
    • 计算公式:

      其中,x[i]和y[i]是复数,conj共轭操作。

    • 示例:

      输入“x”为:

      [ 0.1554+0.8840j, -0.3564-0.2552j]

      输入“y”为:

      [-0.1404+1.3380j, -0.4876+0.1842j]

      调用“Cdotc”算子后,

      输出“result”为:

      1.2877-0.1420j

接口原型

  • AspbStatus asdBlasMakeDotPlan(asdBlasHandle handle)
  • AspbStatus asdBlasSdot(asdBlasHandle handle, const int64_t n, aclTensor *x, const int64_t incx, aclTensor *y,const int64_t incy, aclTensor *result)
  • AspbStatus asdBlasCdotu(asdBlasHandle handle, const int64_t n, aclTensor *x, const int64_t incx, aclTensor *y,const int64_t incy, aclTensor *result)
  • AspbStatus asdBlasCdotc(asdBlasHandle handle, const int64_t n, aclTensor *x, const int64_t incx, aclTensor *y,const int64_t incy, aclTensor *result)

参数列表

  • asdBlasMakeDotPlan

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    dot算子的句柄。

  • asdBlasSdot & asdBlasCdotu & asdBlasCdotc

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    dot算子的句柄。

    n

    Input

    const char

    向量x或向量y中的元素个数。

    x

    Input

    aclTensor *

    公式中的x,Device侧的Tensor,数据格式支持ND,shape为[n]。

    • Sdot下数据类型支持FLOAT32;
    • Cdotc、Cdotu下数据类型支持COMPLEX64。

    incx

    Input

    const int64_t

    向量x相邻元素间的内存地址偏移量(当前约束为1)。

    y

    Input

    aclTensor *

    公式中的y,Device侧的Tensor,数据格式支持ND,shape为[n]。

    • Sdot下数据类型支持FLOAT32;
    • Cdotc、Cdotu下数据类型支持COMPLEX64。

    incy

    Input

    const int64_t

    向量y相邻元素间的内存地址偏移量(当前约束为1)。

    result

    Output

    aclTensor *

    公式中的result,Device侧的Tensor,数据类型支持FLOAT32,只包含一个元素,数据格式支持ND,shape为[1]。

规格约束

  • asdBlasMakeDotPlan:无。
  • asdBlasSdot
    • 输入的元素个数n当前覆盖支持[1,6.71e+06];
    • 算子输入shape为[n],输出shape为[1];
    • 算子实际计算时,不支持ND高维度运算(不支持维度≥3的运算)。
  • asdBlasCdotu & asdBlasCdotc
    • 输入的元素个数n当前覆盖支持[1,6.71e+06];
    • 算子输入shape为[n],输出shape为[1];
    • 算子实际计算时,不支持ND高维度运算(不支持维度≥3的运算)。