论文部分内容阅读
高性能计算机自诞生以来主要应用在两大领域——数据处理和数值模拟。数据处理方面以数据分类为主,朴素贝叶斯分类算法(NBC)是优秀分类算法之一。数值模拟涵盖许多领域如数值天气预报、核试验模拟、生物基因工程计算等方面。数据分类和数值天气预报以其计算规模大、计算精度高等特点推动高性能计算不断发展。随着众核处理器设备在高性能计算机中应用比例逐步升高,许多应用领域正在加紧进行向众核异构平台计算的迁移。众核异构平台多以GPU为主,MIC作为新一代众核处理器在高性能计算机如天河2号的性能提升方面正发挥越来越重要的作用,但其执行效率、可扩展性、可编程性仍然需要更多的实验。本文深入分析了MIC平台上并行优化方法,对朴素贝叶斯分类算法进行并行优化和测试,进而对快速辐射传输模型开展了并行优化的设计和研究,实现了多层次混合编程模式的并行。主要工作和创新点如下:(1)深入学习了CPU/MIC异构平台下的主流编程模式,研究并测试了offload编程模式下任务加载的工作原理,进行了满负荷进程下offload编程模式的工作机制与效率测试。在MPI、OpenMP编程模型的基础上,深入分析和测试了MIC平台上程序执行特点,为后续的课题研究提供了实验基础。(2)开展了朴素贝叶斯分类算法(NBC)的研究,进行了朴素贝叶斯分类算法基于MIC的优化设计和并行实现。深入分析朴素贝叶斯分类算法工作原理,根据前人的研究工作,针对属性加权方案提出新的权值函数。实现不同改进程度的朴素贝叶斯分类算法的串并行代码,通过德国信用数据集验证,本文改进算法模型比传统朴素贝叶斯分类算法累计分类错误代价减少200个单位,在MIC平台上最高获得14倍加速比,相比CPU最优执行情况获得2.13倍加速比。最后使用Intel VTune Amplifier XE性能检测工具对其访存、带宽、并发度等进行评估。(3)针对快速辐射传输模型(RRTM),进行了CPU/MIC异构平台下的并行优化和实现。采用循环调整、循环合并、循环拆分、向量化、并行粒度调整等方法,对辐射传输计算模型代码优化。以OpenMP方式对程序做并行化,分别以CPU native、MIC native、offload三种模式进行性能测试。其中,CPU native模式和offload模式下均有最高15.7倍的加速比,MIC native模式下最高可获得13倍加速比,但相比CPU端最优执行效率略低。以上工作为传统应用领域遗留程序进行CPU/MIC异构平台下的迁移和并行优化工作奠定了一定的基础。