Dot
产品支持情况
硬件型号 |
支持情况 |
---|---|
|
不支持 |
|
不支持 |
|
不支持 |
|
支持 |
|
支持 |
功能描述
接口功能
- asdBlasMakeDotPlan:初始化该句柄对应的Dot算子配置。
- asdBlasSdot:计算两个实数向量的点积。
- asdBlasCdotu:计算两个复数向量的点积。
- asdBlasCdotc:计算一个复数向量取共轭后和另一个复数向量的点积。
计算公式
- asdBlasSdot的计算公式:
- asdBlasCdotu的计算公式:
其中,x[i]和y[i]是复数。
- asdBlasCdotc的计算公式:
其中,x[i]和y[i]是复数,conj共轭操作。
函数原型
- 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的运算)。
调用示例
算子的调用示例参见Dot。