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

Ctrmv

产品支持情况

硬件型号

支持情况

Atlas 200I/500 A2 推理产品

不支持

Atlas 推理系列产品

不支持

Atlas 训练系列产品

不支持

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

支持

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

支持

功能描述

接口功能

  • asdBlasMakeCtrmvPlan:初始化该句柄对应的Ctrmv算子配置。
  • asdBlasCtrmv:单精度复数矩阵向量乘法算子,用于计算一个复数三角矩阵与一个复数向量的乘积。

计算公式

  • asdBlasCtrmv的计算公式:

    矩阵向量乘积:

    转置矩阵向量乘积:

    共轭转置矩阵向量乘积:

  • 示例:

    输入“A”为:

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

    输入“x”为:

        [  [ 0+0i, 1+i ]  ]

    输入“uplo”为:L,输入“trans”为:N,输入“diag”为:N;

    输入“n”为:2,输入“lda”为:2,输入“incx”为: 1;

    调用“Ctrmv”算子后,

    输出“x”为:

        [  [ 0+0i, -1+3i ]  ]

函数原型

  • AspbStatus asdBlasMakeCtrmvPlan(asdBlasHandle handle, asdBlasFillMode_t uplo, int64_t n)
  • AspbStatus asdBlasCtrmv(asdBlasHandle handle, asdBlasFillMode_t uplo, asdBlasOperation_t trans, asdBlasDiagType_t diag,const int64_t n, aclTensor *A, const int64_t lda, aclTensor *x, const int64_t incx)

参数说明

  • asdBlasMakeCtrmvPlan

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    ctrmv算子的句柄。

    uplo

    Input

    asdBlasFillMode_t

    指定矩阵A的存储格式。

    ASDBLAS_FILL_MODE_LOWER  // 下三角
    ASDBLAS_FILL_MODE_UPPER  // 上三角

    n

    Input

    int64_t

    矩阵A的阶数,向量x的维度。

  • asdBlasCtrmv

    参数名称

    Input/Output

    类型

    描述

    handle

    Input

    asdBlasHandle

    ctrmv算子的句柄。

    uplo

    Input

    asdBlasFillMode_t

    指定矩阵A的存储格式。

    ASDBLAS_FILL_MODE_LOWER  // 下三角
    ASDBLAS_FILL_MODE_UPPER  // 上三角

    trans

    Input

    asdBlasDiagType_t

    指定矩阵A是否需要转置。

    ASDBLAS_OP_N  // 不转置
    ASDBLAS_OP_T  // 转置
    ASDBLAS_OP_C  // 共轭转置

    diag

    Input

    asdBlasDiagType_t

    指定矩阵A的对角元素处理方式。

    ASDBLAS_DIAG_NON_UNIT  // 一般矩阵
    ASDBLAS_DIAG_UNIT      // 单位矩阵

    n

    Input

    const int64_t

    矩阵A的阶数,向量x的维度。

    A

    Input

    aclTensor *

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

    lda

    Input

    const int64_t

    矩阵A的第一个维度大小。

    x

    Input/Output

    aclTensor *

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

    incx

    Input

    const int64_t

    向量x中元素的步长。

返回值说明

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

约束说明

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

调用示例

算子的调用示例参见Ctrmv