华为云计算 云知识 昇腾AI软件栈运行管理器介绍
昇腾AI软件栈运行管理器介绍

运行管理器是神经网络软件任务流向系统硬件资源的大坝系统闸门,专门为神经网络的任务分配提供了资源管理通道。昇腾AI处理器通过运行管理器为应用程序提供了存储(Memory)管理、设备(Device)管理、执行流(Stream)管理、事件(Event)管理、核函数(Kernel)执行等功能。

运行管理器上下文关系

运行管理器在软件栈中上下文关系如上图所示,在运行管理器上层为TBE提供的TBE标准算子库和离线模型执行器。TBE标准算子库为昇腾AI处理器提供神经网络需要使用到的算子,离线模型执行器专门用来进行离线模型的加载和执行。运行管理器下层是驱动,与昇腾AI处理器进行底层交互。

运行管理器对外提供各种调用接口,如存储接口、设备接口、执行流接口、事件接口以及执行控制接口,不同的接口由运行管理引擎控制完成不同的功能。

运行管理器的功能模块和对外接口

运行管理器功能介绍:

1、设备接口提供底层设备的数量和属性查询,以及选中、复位等操作。在离线模型调用了设备接口后选中某特性设备后,则模型中所有的任务都将会在这个被选中的设备上执行。若执行过程中需要向其他设备派发任务,则需要再调用一次设备接口进行设备选中。

2、执行流接口提供执行流的创建、释放、优先级定义、回调函数设置、对事件的依赖定义和同步等,这些功能关系到执行流内部的任务执行,同时单个执行流内部的任务必须按顺序执行。

如果多个执行流之间需要进行同步,则需要调用事件接口,进行同步事件的创建、释放、记录和依赖定义等,确保多个执行流得以同步执行完成并输出模型最终结果。事件接口除了用于分配任务或执行流之间的依赖关系,还可以用于程序运行中的时间标记,记录执行时序。

3、执行时,还会用到执行控制接口,运行管理引擎通过执行控制接口和Mailbox完成核函数的加载和存储异步拷贝等任务的派发。

上一篇:CodeArts如何保证客户代码和应用安全? 下一篇:华为云828B2B企业节:引领企业数字化创新浪潮

华为云11.11 AI&大数据分会场

高精度,多场景,快响应,AI&大数据助力企业降本增效