
SetTensorB【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持Kirin X90支持Kirin 9030支持功能说明设置矩阵乘的右矩阵B。函数原型__aicore__ inline void SetTensorB(const GlobalTensorSrcBT gm, bool isTransposeB false)__aicore__ inline void SetTensorB(const LocalTensorSrcBT rightMatrix, bool isTransposeB false)__aicore__ inline void SetTensorB(SrcBT bScalar)Atlas 推理系列产品AI Core不支持SetTensorB(SrcBT bScalar)接口原型。Atlas 200I/500 A2 推理产品不支持SetTensorB(SrcBT bScalar)接口原型。参数说明表1模板参数说明参数名描述SrcBT操作数的数据类型。表2参数说明参数名输入/输出描述gm输入B矩阵。类型为GlobalTensor。SrcBT参数表示B矩阵的数据类型。不同型号支持的数据类型请参考gm和rightMatrix支持的数据类型。rightMatrix输入B矩阵。类型为LocalTensor支持的TPosition为TSCM/VECOUT。SrcBT参数表示B矩阵的数据类型。不同型号支持的数据类型请参考gm和rightMatrix支持的数据类型。若设置TSCM首地址默认矩阵可全载已经位于TSCMIterate接口无需再进行GM-L1 BufferA1/B1搬运。bScalar输入B矩阵中设置的值。支持传入标量数据标量数据会被扩展为一个形状为[1, K]的tensor参与矩阵乘计算tensor的数值均为该标量值。例如开发者可以通过将bScalar设置为1来实现矩阵A在K方向的reduce sum操作。SrcBT参数表示B矩阵的数据类型。不同型号支持的数据类型请参考bScalar支持的数据类型。isTransposeB输入B矩阵是否需要转置。注意若B矩阵MatmulType的ISTRANS参数设置为true该参数可以为true也可以为false即运行时可以转置和非转置交替使用若B矩阵MatmulType的ISTRANS参数设置为false该参数只能设置为false若强行设置为true精度会有异常对于非half、非bfloat16_t输入类型的场景为了确保Tiling侧与Kernel侧L1 Buffer空间计算大小保持一致及结果精度正确该参数取值必须与Kernel侧定义B矩阵MatmulType的ISTRANS参数以及Tiling侧SetBType()接口的isTrans参数保持一致即上述三个参数必须同时设置为true或同时设置为false。返回值说明无约束说明传入的TensorB地址空间大小需要保证不小于singleK * singleN。gm和rightMatrix支持的数据类型Ascend 950PR/Ascend 950DT支持的数据类型为half、bfloat16_t、int8_t、float、fp8_e4m3fn_t、fp8_e5m2_t、hifloat8_t。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的数据类型为int4b_t、half、bfloat16_t、int8_t、float。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的数据类型为int4b_t、half、bfloat16_t、int8_t、float。Atlas 推理系列产品AI Core支持的数据类型为half、int8_t、float。Atlas 200I/500 A2 推理产品支持的数据类型为half、bfloat16_t、int8_t、float。Kirin X90支持的数据类型为half、int8_t。Kirin 9030支持的数据类型为half。bScalar支持的数据类型Ascend 950PR/Ascend 950DT支持的数据类型为half、float。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的数据类型为half、float。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的数据类型为half、float。Atlas 推理系列产品AI Core不支持该参数。Atlas 200I/500 A2 推理产品不支持该参数。Kirin X90支持的数据类型为half。Kirin 9030支持的数据类型为half。调用示例REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm, tiling); mm.SetTensorA(gm_a); // 示例一右矩阵在Global Memory mm.SetTensorB(gm_b, isTransposeB); if (tiling.isBias) { mm.SetBias(gmBias); } mm.IterateAll(gm_c); mm.End(); // 示例二右矩阵在Local Memory mm.SetTensorB(local_a, isTransposeB); // 示例三设置标量数据 mm.SetTensorB(scalar_a, isTransposeB);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考