从硬件架构到软件工具链,存算一体大算力AI芯片的创新与实践( 五 )

文章图片
如果是高级的用户 , 可以开发自己的自定义算子 , 我们也提供算子的开发工具SDK , 这里边包括了编程模型方面 , 基于CUDA的扩展语言 , 叫后摩Dataparallellanguage或者叫hardwaredataparallellanguage(HDPL语言) , 还有ScheduleLanguage , 最底层是标准的C++ 。
编译器方面包括了HDPL编译器 , 底层C/C++编译器 。 工具链方面也提供了丰富的工具链 , 包括了debugger、调试器、汇编和反汇编的工具、Objdump工具 , 还有一个HMprofeiler , 用它来可以方便的调试CIM 。
除此之外 , 我们也对推理引擎方面有支持 。 我们的编译器可以让用户从开发类似GPU的一些程序里 , 无缝的过渡到AI处理器的开发过程中来 , 因为我们是一个类CUDA的编程模型 。 上层对接的推理引擎可以是多种多样的 , 包括百度的PaddlePaddle、ONNX、TensorFlow、MXNet等 。 这些工具产生的模型 , 经过量化工具会翻译成一个RelayIR的中间表达 。 这个中间表达之后会通过Tensorgraph优化器来做优化 , Tensor优化器做了哪些事情呢?包括自动算子的融合 , 优化带宽的瓶颈 , 自动流水的分配机制 , 可以充分利用AICore的硬件并行性 , 以及设备内存SRAM和DDR的自动分配 , 层间的调度优化等 , 来提高硬件利用率 。
再下一层是IPUgraphruntime , 即图的运行时 。 运行时最下层会调用IPU各种各样的资源 。 IPU资源包括了AICore , 就是AI写处理器 , 还有一些扩展的计算资源 , 大多数的计算可以通过卷积在CIM里来实现 。 还有一些其他的特殊操作 , 比如最常用的pooling等类似的操作 , 可以在SpecialFunctionUnit来实现 。 如果有自定义的算子还可以通过HDPL语言的接口 , 在不同的计算扩展单元里实现 。 我们的编程模型也是针对数据并行的模型 , 上图有一个简单的例子 , 它与CUDA编程方式是非常接近的 。
以上就是本次分享的主要内容 , 感谢大家的观看 。
- 荣耀手机独立出华为后|从3699跌至2059荣耀太猛了
- 虚假宣传?特斯拉被勒令免费升级自动驾驶硬件:老用户狂喜
- 本文转自:央广网央广网兰州12月13日消息(记者邸文炯)记者从兰州大学获悉|第四届中国研究生人工智能创新大赛圆满落幕
- CPU处理器|正面刚x86 第三大CPU架构RISC-V冲击高性能:5nm 192核
- 47 岁从华为退休,操作系统老兵转战 OpenHarmony 生态 | 近匠
- 中国移动|中国移动发布2022年智能硬件质量报告:小米赢麻了!包揽多项冠军
- AMD|RX 7900 XTX勉强干掉RTX 4080:RDNA3架构被曝缺陷!白白浪费16%
- 5G|多款取暖器双十二价格比平时高,平台客服:价格波动遵从商家意愿,不违反规定
- 工业互联网|早期项目|从泰国到东南亚,「 MagiCart」为千万中小卖家提供一站式跨境采购服务
- 芯片|“中国芯”传来好消息,晶栈架构技术全球领先,打破韩美巨头垄断
