昇腾社区首页
中文
注册

Cgerc

功能描述

  • asdBlasMakeCgercPlan

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

  • asdBlasCgerc

    接口功能:复数向量乘以另一个复数向量的共轭转置后,加在一个矩阵上。

计算公式

asdBlasCgerc
  • 计算公式:

  • 示例:

    输入“x”为:

    [1.0 + 1.0j, 2.0 + 2.0j]

    输入“alpha”为:

    1.0 + 1.0j

    输入“y”为:

    [1.0 + 1.0j, 1.0 + 2.0j]

    输入“A”为:

    [ [2.0 + 3.0j, 3.0 + 4.0j], 
      [3.0 + 3.0j, 4.0 + 4.0j] ]

    调用“Cgerc”算子后,

    输出“A”为:

    [ [4.0 + 5.0j, 7.0 + 6.0j], 
      [7.0 + 7.0j, 12.0 + 8.0j] ]

接口原型

  • AspbStatus asdBlasMakeCgercPlan(asdBlasHandle handle)
  • AspbStatus asdBlasCgerc(asdBlasHandle handle, const int64_t m, const int64_t n, const std::complex<float> *alpha,aclTensor *x, const int64_t incx, aclTensor *y, const int64_t incy, aclTensor *A,const int64_t lda)

参数列表

  • asdBlasMakeCgercPlan

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    Cgerc算子的句柄。

  • asdBlasCgerc

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    Cgerc算子的句柄。

    m

    Input

    const int64_t

    表示x向量中复数元素的个数,矩阵A的行数。

    n

    Input

    const int64_t

    表示y向量中复数元素的个数,矩阵A的列数。

    alpha

    Input

    const std::complex<float> *

    公式中的alpha,输入的复数标量,数据类型支持COMPLEX64。

    x

    Input

    aclTensor *

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

    incx

    Input

    const int64_t

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

    y

    Input

    aclTensor *

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

    incy

    Input

    const int64_t

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

    A

    Input/Output

    aclTensor *

    公式中的A,Device侧的Tensor,数据类型支持COMPLEX64,数据格式支持ND,shape为[m,n]。

    lda

    Input

    const int64_t

    表示矩阵A的第一个维度大小(当前约束为m)。

规格约束

  • asdBlasMakeCgercPlan:无。
  • asdBlasCgerc
    • 输入的元素个数m,n当前覆盖支持[1,8192];
    • 算子输入shape为[m]、[n]、[m,n],输出shape为[m,n];
    • 算子实际计算时,不支持ND高维度运算(不支持维度≥3的运算)。