张志红 发表于 2023-6-7 16:07

面向申威架构的 KNN 并行算法实现与优化

K 近邻(KNN)是人工智能中最常用的分类算法,其性能提升对于海量数据的整理分析、大数据分类等任务具有重要意义。目前新一代神威超级计算机正处于应用发展的初始阶段,结合新一代申威异构众核处理器的结构特性,充分利用庞大的计算资源实现高效的 KNN 算法是海量数据分析整理的现实需求。根据 SW26010pro 处理器的结构特性,采用主从加速编程模型实现一种基础版本的 KNN 并行算法,其将计算核心传输到从核上,实现了线程级并行。分析影响基础并行算法性能的关键因素并提出优化算法 SWKNN,不同于基础并行 KNN 算法的任务划分方式,SWKNN 采用任务重划分策略,以避免冗余计算开销。通过数据流水优化、从核间通信优化、二次负载均衡优化等步骤减少不必要的通信开销,从而有效缓解访存压力并进一步提升算法性能。实验结果表明,与串行KNN 算法相比,面向申威架构的基础并行 KNN 算法在 SW26010pro 处理器的单核组上可以获得最高 48 倍的加速效果,在同等数据规模下,SWKNN 算法较基础并行 KNN 算法又可以获得最高 399 倍的加速效果。


页: [1]
查看完整版本: 面向申威架构的 KNN 并行算法实现与优化