随着深度学习的快速发展,把深度学习算法部署到嵌入式设备的需求也日益增加。
目前开源的嵌入式推理框架中,有支持ARM CPU加速推理的,也有支持GPU加速的,但这些移动端推理框架中,还没有一个框架能够进行CPU / GPU异构调度。
如今,Tengine作为ARM人工智能平台的软件框架,首次发布支持CPU / GPU异构调度。
Tengine的GPU / CPU异构调度的原理是:
根据算子对计算图(图表)进行切分,切分的子图(子图)再通过调度器分配给相应的设备由于GPU的编程较复杂,我们优先支持神经网络中的常用算子(例如:CONV,POOL,FC等),而对于某些网络中特有的算子(例如检测网络SSD中的PRIORBOX等),我们将这些算子分配给CPU进行计算。