异构计算架构CANN
异构计算架构CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供多层次编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。
总结:CANN用来屏蔽底层硬件差异,使得用户能够无缝使用Pytorch等主流深度学习框架进行开发。
昇腾AI芯片基本架构
基于Ascend C开发的算子运行在AI Core上,AI Core负责执行标量、向量和张量相关的计算密集型算子,包括三种基础计算单元:Cube(矩阵)计算单元、Vector(向量)计算单元和Scalar(标量)计算单元,同时还包含存储单元(包括硬件存储和用于数据搬运的搬运单元)和控制单元。
总结:AI Core是芯片的核心,用来运行算子。
AI Core耦合硬件架构
AI core硬件架构根据Cube计算单元和Vector计算单元是否同核部署分为耦合架构和分离架构两种,其中Atlas 训练与推理系列产品均采用耦合架构。
AI core的缓存理解:
1、GM:可以理解为显存
2、L1 Buffer:与GM交互,加载或者存储数据
3、Unified Buffer:统一缓冲区,向量和标量计算的输入和输出。
4、Buffer L0A&L0B&L0C:专门为Cube单元设置的缓存,L0A和L0B为Cube指令的输入,L0C是Cube指令的输出。
参考链接1:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0008.html
参考链接2:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0003.html
参考链接3:https://blog.csdn.net/m0_37605642/article/details/132780001