面向视觉SLAM的异构处理架构关键技术研究
作者单位:吉林大学
学位级别:硕士
导师姓名:阎凯歌
授予年度:2021年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:视觉SLAM GPU 深度学习加速器 异构架构 内存调度
摘 要:近年来,即时定位与地图构建(Simultaneous Localization And Mapping,SLAM)受到极大关注且被广泛使用在多个领域。例如,视觉SLAM算法在虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)、无人机领域、无人驾驶以及机器人定位导航方面都起到了关键性的作用。视觉SLAM算法对实时性要求很高,并且它通常部署于嵌入式系统。但嵌入式系统对功耗有严格限制,因此,如何为视觉SLAM提供所需的性能,同时又可以满足嵌入式系统功耗要求,是设计人员面临的巨大挑战。图形处理器(Graphics Processing Units,GPU)通常被用作视觉SLAM的重要处理引擎,找到合理的硬件配置参数对于提升视觉SLAM的能效至关重要。本文分析GPU各个设计参数对性能和功耗的影响,发现为视觉SLAM设计节能GPU的指导原则是采用“较多的流式多处理器(Streaming Multiprocessor,SM),足够的流式处理器(Streaming Processor,SP)和寄存器以及较小的缓存(Cache)。然后,本文进行大规模设计空间探索,并使用两项指数模型拟合帕累托边界。此外,本文构建了基于梯度提升决策树的设计模型以预测给定设计参数下系统的性能和功耗,从而消除了GPU设计人员进行昂贵的系统仿真的需要。实验表明,本文基于梯度提升决策树的模型可以实现3%的平均百分比误差,优于其他机器学习模型。在嵌入式系统中,深度学习加速器作为专门面向深度学习所设计的硬件受到广泛关注。相比于传统的中央处理器(Central Processing Unit,CPU)与GPU等通用型芯片,它具有更高的能效优势。此外,基于深度学习的位姿估计方法也取得比传统方法更高的准确率。为了更有效利用嵌入式系统的硬件资源,本文提出了一种面向视觉SLAM的软硬件协同设计方法,在软件层次采用基于深度学习方法进行视觉SLAM中的位姿估计,在硬件层次设计了包含深度学习加速器的异构处理架构。实验表明,对于不同的数据集,这一软硬件协同设计方法相较于在GPU上的经典方法,其性能平均提升了44%,平均功耗降低了39%。此外,本文进一步为该异构架构设计了流水工作模式,增强了GPU与深度学习加速器之间的并行性,系统的性能又进一步提高了10%,功耗进一步降低了8%。嵌入式系统通常采用共享内存架构,在集成深度学习加速器后,会导致内存竞争的加剧。本文研究了GPU与深度学习加速器的访存特点,发现了GPU的高度执行并行性与深度学习加速器的高度执行规律性使得他们分别具有不同的内存延迟容忍度。因此,本文提出了基于部件访存特点的内存调度策略,根据内存延迟容忍度的高低,动态调整访存请求优先级,从而避免在产生内存竞争时所带来的性能下降。实验表明,该内存调度策略在将性能平均提高70%、功耗平均降低48%的同时,公平性提高约100%。