卷积作为深度学习中被频繁使用的关键部分,其并行算法的研究已成为高性能计算领域中的热门话题. 随着我国自主研发的申威26010众核处理器在人工智能领域的快速发展,对面向该处理器的高性能并行卷积算法提出了迫切的需求. 针对申威26010处理器的架构特征以及Winograd卷积算法的计算特性,提出了一种高性能并行卷积算法——融合Winograd卷积算法. 该算法不同于依赖官方GEMM(general matrix multiplication)库接口的传统Winograd卷积算法,定制的矩阵乘实现使得该算法的执行过程变得可见,且能够更好地适应现实中常见卷积运算. 整个算法由输入的Winograd变换、卷积核的Winograd变换、核心运算和输出的Winograd逆变换4部分构成,这4个部分并不是单独执行而是融合到一起执行. 通过实时地为核心运算提供需要的变换后数据,并将计算结果及时地逆变换得到最终的输出数据,提高了算法执行过程中的数据局部性,极大地降低了整体的访存开销. 同时,为该算法设计了合并的Winograd变换模式、DMA(direct memory access)双缓冲、片上存储的强化使用、输出数据块的弹性处理以及指令重排等优化方案. 最终的实验结果表明,在VGG网络模型的总体卷积测试中,该算法性能是传统Winograd卷积算法的7.8倍. 同时,抽取典型卷积神经网络模型中的卷积进行测试,融合Winograd卷积算法能够在所有的卷积场景中发挥明显高于传统Winograd卷积算法的性能. 其中,最大能够发挥申威26010处理器峰值性能的116.21%,平均能够发挥峰值性能的93.14%.
… … 相似文献随着人工智能民主化的发展,深度神经网络已经被广泛地应用于移动嵌入式设备上,例如智能手机和自动驾驶领域等. 随机计算作为一种新兴的、有前途的技术在执行机器学习任务时使用简单的逻辑门而不是复杂的二进制算术电路. 它具有在资源(如能源、计算单元和存储单元等)受限的边缘设备上执行深度神经网络低能耗、低开销的优势. 然而,之前的关于随机计算的工作都仅仅设计一组模型配置并在固定的硬件配置上实现,忽略了实际应用场景中硬件资源(如电池电量)的动态改变,这导致了低硬件效率和短电池使用时间. 为了节省电池供电的边缘设备的能源,动态电压和频率调节技术被广泛用于硬件重配置以延长电池的使用时间. 针对基于随机计算的深度神经网络,创新性地提出了一个运行时可重配置框架,即RR-SC,这个框架首次尝试将硬件和软件的重配置相结合以满足任务的时间约束并最大限度节省能源. RR-SC利用强化学习技术可以一次性生成多组模型配置,同时满足不同硬件配置(即不同的电压/频率等级)下的准确率要求. RR-SC得到的解具有最好的准确率和硬件效率权衡. 同时,多个模型配置运行时在同一个主干网络上进行切换,从而实现轻量级的软件重配置. 实验结果表明,RR-SC可以在110 ms内进行模型配置的轻量级切换,以保证在不同硬件级别上所需的实时约束. 同时,它最高可以实现7.6倍的模型推理次数提升,仅造成1%的准确率损失.
… … 相似文献