从硬件架构到软件工具链,存算一体大算力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编程方式是非常接近的 。
以上就是本次分享的主要内容 , 感谢大家的观看 。
- saas|从M8到18,魅族的用户关怀始终没变!最新的免费换电池活动进行中
- vivo|不敷衍用户,6000mAh新机跑出72万高分,vivo注重硬件配置了
- 本文转自:光明网记者从中科院合肥物质科学研究院了解到|我国科学家利用层间纳米间隙捕获目标分子
- 电风扇|国货小家电品牌,从“小县城”走向全球市场,靠品质深得人心!
- 本文转自:鄂州新闻网数控机床被誉为现代工业的“神奇魔棒”和“手术刀”从智能手机到飞机都离...|专心致“智”!鄂州这家企业产品能秒变冰墩墩
- 你有没有从苹果手机到安卓手机的使用经历?本人就是从苹果手机换到安卓阵营的典型代表|从6499降到3699,小米11ultra怒降2800
- 从iPhoneX开始到现在|小米mix4:12+256g从5799跌至3958
- 从使用寿命的角度看|为什么说iphone11promax的使用寿命很长?
- 大品牌手机与小品牌手机的区别是什么?从产品布局上看就是:大品牌有顶尖的机皇旗舰代表|荣耀magic4至臻版,荣耀最强机皇
- 从去年开始|摩托罗拉edges20冠军版:12gb+512g调低到两千档