aclnnRotaryPositionEmbedding
产品支持情况
功能说明
接口功能:执行单路旋转位置编码计算。
计算公式:
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:
(1)half模式(mode等于0):
(2)interleave模式(mode等于1):
(3)quarter模式(mode等于2):
(4)interleave-half模式(mode等于3),该模式会先将奇数位的输入抽取到前半部分,将偶数位的输入抽取到后半部分,再进行half处理:
函数原型
每个算子分为,必须先调用“aclnnRotaryPositionEmbeddingGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnRotaryPositionEmbedding”接口执行计算。
[object Object]
[object Object]
aclnnRotaryPositionEmbeddingGetWorkspaceSize
参数说明
[object Object]- 参数mode约束:
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:0=half,1=interleave。
- 参数mode约束:
返回值:
第一段接口完成入参校验,出现以下场景时报错:
[object Object]
aclnnRotaryPositionEmbedding
约束说明
- 确定性计算:
aclnnRotaryPositionEmbedding默认确定性实现。
[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:
输入张量x支持BNSD、BSND、SBND、TND排布。 输入张量x、cos、sin及输出张量y的D维度大小必须相同,满足D<896,且必须为2的倍数。 输入张量x和输出张量y的shape必须完全相同。 输入张量cos和sin的shape必须完全相同.
- half模式:
- B,N < 1000;
- 当x为BNSD时,cos、sin支持11SD、B1SD、BNSD
- 当(D/2)% (32/inputDtypeSize) == 0时,需满足B * N <= S * 8
- 当(D/2)% (32/inputDtypeSize) != 0时,需满足B * N * 2 <= (S + coreNum -1) / coreNum 或者 D >= 80
- 当x为BSND时,cos、sin支持1S1D、BS1D、BSND
- 当x为SBND时,cos、sin支持S11D、SB1D、SBND
- 当x为TND时,cos、sin支持T1D、TND
- interleave模式:
- B * N < 1000(N<1000当x为TND)
- 当x为BNSD时,cos、sin支持11SD
- 当x为BSND时,cos、sin支持1S1D
- 当x为SBND时,cos、sin支持S11D
- 当x为TND时,cos、sin支持T1D
- half模式:
调用示例
[object Object]