aclnnRmsNormGrad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object] | √ |
| [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object] | √ |
| [object Object]Atlas 200I/500 A2 推理产品[object Object] | × |
| [object Object]Atlas 推理系列产品 [object Object] | √ |
| [object Object]Atlas 训练系列产品[object Object] | × |
功能说明
函数原型
每个算子分为,必须先调用aclnnRmsNormGradGetWorkspaceSize接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用aclnnRmsNormGrad接口执行计算。
aclnnStatus aclnnRmsNormGradGetWorkspaceSize( const aclTensor *dy, const aclTensor *x, const aclTensor *rstd, const aclTensor *gamma, const aclTensor *dxOut, const aclTensor *dgammaOut, uint64_t *workspaceSize, aclOpExecutor **executor)aclnnStatus aclnnRmsNormGrad( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream)
aclnnRmsNormGradGetWorkspaceSize
参数说明:
- dy(aclTensor*,计算输入):Device侧的aclTensor,表示反向传回的梯度。对应公式中的
dy。支持ND,shape支持1-8维度。- [object Object]Atlas 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16。
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16,BFLOAT16。
- x(aclTensor*,计算输入):Device侧的aclTensor,正向算子的输入,表示被标准化的数据。对应公式中的
x。支持ND,shape支持1-8维度,且与入参dy的shape一致。- [object Object]Atlas 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16。
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16,BFLOAT16。
- rstd(aclTensor*,计算输入):Device侧的aclTensor,正向算子的中间计算结果。对应公式中的
Rms(x)。数据类型支持FLOAT32。支持ND,shape支持1-8维度,shape需要满足rstd_shape = x_shape[0:n],n < x_shape.dims(),n与gamma一致。 - gamma(aclTensor*,计算输入):Device侧的aclTensor,正向算子的输入。对应公式中的
g。支持ND,shape支持1-8维度,shape需要满足gamma_shape = x_shape[n:], n < x_shape.dims()。- [object Object]Atlas 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16。
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16,BFLOAT16。
- dxOut(aclTensor*,计算输出):Device侧的aclTensor,表示输入
x的梯度。对应公式中的dx。支持ND,shape支持1-8维度,shape与入参dy的shape保持一致。- [object Object]Atlas 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16。
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:数据类型支持FLOAT32,FLOAT16,BFLOAT16。
- dgammaOut(aclTensor*,计算输出):Device侧的aclTensor,表示
gamma的梯度。对应公式中的dg。数据类型支持FLOAT32。支持ND,shape支持1-8维度,shape与入参gamma的shape保持一致。 - workspaceSize(uint64_t*,出参):返回用户需要在Device侧申请的workspace大小。
- executor(aclOpExecutor**,出参):返回op执行器,包含了算子计算流程。
- dy(aclTensor*,计算输入):Device侧的aclTensor,表示反向传回的梯度。对应公式中的
返回值:
[object Object]
aclnnRmsNormGrad
参数说明:
- workspace(void*,入参):在Device侧申请的workspace内存地址。
- workspaceSize(uint64_t,入参):在Device侧申请的workspace大小,由第一段接口aclnnRmsNormGradGetWorkspaceSize获取。
- executor(aclOpExecutor*,入参):op执行器,包含了算子计算流程。
- stream(aclrtStream,入参):指定执行任务的Stream。
约束说明
- [object Object]Atlas 推理系列产品[object Object]:
x、dy、gamma输入的尾轴长度必须大于等于32Bytes。 - 支持类型说明:
- 各产品支持数据类型说明:
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
dy数据类型x数据类型rstd数据类型gamma数据类型dxOut数据类型dgammaOut数据类型FLOAT16 FLOAT16 FLOAT32 FLOAT32 FLOAT16 FLOAT32 BFLOAT16 BFLOAT16 FLOAT32 FLOAT32 BFLOAT16 FLOAT32 FLOAT16 FLOAT16 FLOAT32 FLOAT16 FLOAT16 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32 BFLOAT16 BFLOAT16 FLOAT32 BFLOAT16 BFLOAT16 FLOAT32 - [object Object]Atlas 推理系列产品[object Object]:
dy数据类型x数据类型rstd数据类型gamma数据类型dxOut数据类型dgammaOut数据类型FLOAT16 FLOAT16 FLOAT32 FLOAT16 FLOAT16 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32 FLOAT32
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
调用示例
[object Object]