论文部分内容阅读
人工智能和高性能异构计算在视频大数据处理中的研究应用意义重大,将算法高效部署在特定计算平台具有极大的挑战。本文以智慧城市智能监控应用为项目背景,针对深度学习计算量大、视频识别产业应用实时性要求高、异构平台复杂多样等问题,从图像识别算法、异构计算及并行编程和算法优化加速三个方面深入研究实践。对比分析经典图像识别算法,明确了YOLOv3算法模型在工程部署中的重要地位,着重研究该算法模型、框架结构及核心计算模块,理论分析和实验验证该模型计算性能。研究CPU+GPU异构计算平台和编程技术,提出基于OpenCL统一并行编程模型的协同计算方案,运用循环展开、向量化、数据重排、多线程并行和内存访问优化等并行加速策略。基于DarkNet开源深度学习框架,使用OpenCL设计实现卷积层、池化层、批量归一化层及激活函数层等内核函数。采用端到端自动优化编译堆栈TVM,重写高级数据流,生成优化的计算图,结合张量描述和目标硬件优化原语,生成可能的优化调度空间,构建机器学习成本模型自动调度优化器。并采用XGBoost对模型进行训练调优,将优化后的模型及参数生成库文件供CPU/GPU设备部署。实验表明YOLOv3算法在CPU+GPU异构计算平台上相对于CPU加速比达到271.8,相对于GPU加速比达到1.6。TVM优化部署在CPU上加速比达到4.62,在GPU加速比达到1.46。研究成果突破了原算法应用平台局限性并提升平台计算性能和算法运行实时性,解决了跨多种硬件设备代码重构和性能优化的难题,对于复杂多样的异构平台上算法功能及性能移植具有重要的意义。