本文主要是介绍【寒武纪(14)】硬件系统由标量指令、向量指令、张量指令、访存指令构成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们在文档《Cambricon-BANG-C-Developer-Guide-EN-v4.5.1》的build-in function 发现,存在三种计算:矩阵乘法、标量类型、向量。
查阅《Cambricon-BANG-C-C+±Programming-Guide-CN-v1.5.0.pdf》可知,硬件系统由标量指令、向量指令、张量指令、访存指令构成。
流水线中分为 IO流、Move流、computer流和scalar流。
- IO流、Move流 是访存指令
- 向量指令、张量指令 对应 computer流
- 标量指令 对应scalar流。
标量系统就是典型的 load-store 类型RISC (Reduced Instruction set computer)架构。在MLUv3 中标量主要用于实现 控制流和一些特殊功能。
向量指令实现向量计算,每条向量指令包含源操作地址,目的操作地址以及向量长度。长度可用变化。
张量指令用于实现卷积、积分、直方图和矩阵计算。
访存指令搬运数据,长度可变。
向量,张量和访存执行时间是可变的。应该合理安排向量/张量运行 与 访存指令的顺序,减少打断以及流之间的数据依赖。
这篇关于【寒武纪(14)】硬件系统由标量指令、向量指令、张量指令、访存指令构成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!