CANN/ops-blas DotEx 算子
2026/7/16 17:58:38 网站建设 项目流程

DotEx 算子

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

算子概述

扩展精度向量点积算子,实现两个向量的点积运算,支持混合精度计算。内部统一以 FP32 精度累加,最终结果转换为输入类型。

数学表达式:

result = Σ(x[i * incx] * y[i * incy]), i = 0 ... n-1

包含以下接口:

接口名功能简述
aclblasDotEx扩展精度向量点积

算子执行接口

aclblasDotEx

产品支持情况
  • Ascend 950PR / Ascend 950DT:支持
接口说明
aclblasStatus_t aclblasDotEx( aclblasHandle_t handle, int n, const void *x, aclDataType xType, int incx, const void *y, aclDataType yType, int incy, void *result, aclDataType resultType, aclDataType executionType)
参数输入/输出说明
handle输入算子句柄
n输入向量元素个数
x输入向量 x 的设备地址
xType输入x 的数据类型
incx输入x 的存储步长
y输入向量 y 的设备地址
yType输入y 的数据类型
incy输入y 的存储步长
result输出点积结果的设备地址
resultType输入result 的数据类型
executionType输入中间计算精度,固定为 ACL_FLOAT
返回值
说明
ACLBLAS_STATUS_SUCCESS成功
ACLBLAS_STATUS_HANDLE_IS_NULLPTRhandle 为空
ACLBLAS_STATUS_INVALID_VALUE参数非法
ACLBLAS_STATUS_NOT_SUPPORTED不支持的类型组合
ACLBLAS_STATUS_ALLOC_FAILED内存分配失败
ACLBLAS_STATUS_EXECUTION_FAILED执行失败
支持的数据类型
x/y 类型result 类型execution 类型
FP32FP32FP32
FP16FP16FP32
BF16BF16FP32
注意事项
  • x 和 y 的数据类型必须相同
  • result 类型必须与 x/y 类型一致
  • executionType 必须为 ACL_FLOAT

编译与运行

bash build.sh --run --ops=dotex --soc=ascend950

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询