
关于A、B、C矩阵的Shape及内存大小计算公式【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/geA、B、C矩阵是否转置的标记如果设置为ACL_TRANS_N或ACL_TRANS_T则用户在申请内存存放A、B、C矩阵数据时实际申请的内存要和实际数据大小匹配Shape及内存大小的计算公式如下A矩阵shape (m, k)内存大小 m*k*sizeof(dataTypeA)B矩阵shape (k, n)内存大小 k*n*sizeof(dataTypeB)C矩阵shape (m, n)内存大小 m*n*sizeof(dataTypeC)A、B、C矩阵是否转置的标记如果设置为ACL_TRANS_NZ表示采用内部数据格式矩阵Shape为4维Shape及内存大小的计算公式如下假设m,k,n分别为原始轴⌈ ⌉表示向上对齐当矩阵A和矩阵B中数据的类型为aclFloat16在计算实际内存大小时m、k、n均按16对齐向上取整计算A矩阵shape (⌈k/16⌉, ⌈m/16⌉, 16, 16)内存大小 ⌈m/16⌉*16*⌈k/16⌉*16*sizeof(dataTypeA)B矩阵shape (⌈n/16⌉, ⌈k/16⌉, 16, 16)内存大小 ⌈k/16⌉*16*⌈n/16⌉*16*sizeof(dataTypeB)C矩阵shape (⌈n/16⌉, ⌈m/16⌉, 16, 16)内存大小 ⌈m/16⌉*16*⌈n/16⌉*16*sizeof(dataTypeC)当矩阵A和矩阵B中数据的类型为int8_t在计算实际内存大小时reduce轴按32对齐向上取整计算非reduce轴按16对齐向上取整计算A矩阵shape (⌈k/32⌉, ⌈m/16⌉, 16, 32)内存大小 ⌈m/16⌉*16*⌈k/32⌉*32*sizeof(dataTypeA)B矩阵shape (⌈k/32⌉, ⌈n/16⌉, 32, 16)内存大小 ⌈k/32⌉*32*⌈n/16⌉*16*sizeof(dataTypeB)C矩阵shape (⌈n/16⌉, ⌈m/16⌉, 16, 16)内存大小 ⌈m/16⌉*16*⌈n/16⌉*16*sizeof(dataTypeC)【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考