专栏名称: 机器之心
目录
相关文章推荐
黄建同学  ·  先Mark,一直想搞个这样的Code ... ·  22 小时前  
爱可可-爱生活  ·  [LG]《Slamming: ... ·  昨天  
爱可可-爱生活  ·  【[143星]getomni-ai/benc ... ·  2 天前  
智在点滴  ·  震惊!我的Excel里居然有DeepSeek函数! ·  2 天前  
智在点滴  ·  震惊!我的Excel里居然有DeepSeek函数! ·  2 天前  
黄建同学  ·  吴恩达的《评估AI ... ·  3 天前  
51好读  ›  专栏  ›  机器之心

整图下沉,MindSpore图引擎详解

机器之心  · 掘金  · AI  · 2020-04-28 08:14

正文

阅读 74

整图下沉,MindSpore图引擎详解

4 月 26 日,机器之心联合华为昇腾学院开设的线上公开课 《轻松上手开源框架 MindSpore》 第二课完成,GraphEngine 高级工程师王俊为大家带来了主题分享《MindSpore 中 GraphEngine 浅析》,第二课回顾视频: www.bilibili.com/video/BV1ve…

第二课精选问答

在第二课的 QA 环节中,有一些问题被大家广泛提到,王俊讲师再次做了精选与编辑,供大家参考。

Q1:循环下沉是什么?

循环下沉是在 on-device 执行的基础上更进一步的一个技巧,意图进一步建校 host 侧和 device 侧之间的交互次数。一般情况下,我们习惯于每个 step 都返回一个结果,循环下沉是控制每隔多少个 step 返回一次结果,缺省的配置是一个 epoch 返回一次结果,这样每个 epoch 里,host 侧和 device 侧只需要进行一次数据交互即可。

Q2:FusionOP是定义在device上么?

FusionOP 对应的具体算子是有其算子实现的,存储在算子信息库中,融合出 fusionOP 的过程是在 host 侧的 CPU 上完成,运行此 FusionOP 是在 device 上。

Q3:profiling只能在昇腾上用吗?

只能在昇腾上使用。

Q4:profiling有op的开始时间吗?

profiling 是记录下 op 开始和结束的时间,以此计算算子耗时。

Q5:数据dump是能dump出来什么数据?

通过配置可以 dump 出任何存在在网络中的数据,每一个算子的输入输出,每一个 parameter 的值和梯度都可以被 dump 下来。

Q6:910 支持推理吗?支持多少op呢?

910 支持训练及推理,310 只支持推理。目前我们的算子信息库已经相对完善,常用的 op 基本都已支持,如果有自定义算子的需求,我们提供了 TBE 工具来支持用户自定义算子的开发。

Q7:算子在不同的加速器上的调度策略什么?

在图准备阶段会根据代价函数进行算子引擎分配,在流分配阶段也会充分考虑不同算子之间的并行计算可能,具体指定每个算子的执行引擎。

Q8:GE是mindspore中和硬件交互的?

是的,GE 专门负责和 Ascend 芯片交互。

Q9:310不能做训练么?

310 只能做推理,MindSpore 训练好后的模型,将其固化为 pb 格式后,可以部署到 310 芯片上进行推理。

Q10:如何自定义昇腾芯片支持的op呢?

提供了 Tensor Boost Engine 这个工具来支持自定义 op。Ascend 芯片的算子需要用一种 cce 格式的代码编写,需要显式指定内存搬运操作,极为复杂,使用 tbe 工具,只需调用其 python 接口完成算子逻辑定义,即可生成可运行在 Ascend 上的自定义算子。

大家后续如有更多问题,欢迎关注 MindSpore 的gitee和github,随时提 issue,官方人员将及时为大家解答:

PPT下载方式: 关注公众号「MindSpore」,回复关键词「GE」,即可下载。

第二课PPT如下:







请到「今天看啥」查看全文