关键词:
异构众核
编译系统
编程模型
存储层次
向量化
节点合并
访存优化
摘要:
异构众核架构具有超高的能效比,已成为超级计算机体系结构的重要发展方向.然而,异构系统的复杂性给应用开发和优化提出了更高要求,其在发展过程中面临好用性和可编程性等众多技术挑战.我国自主研制的神威新一代超级计算机采用了国产申威异构众核处理器SW26010Pro.为了发挥新一代众核处理器的性能优势,支撑新兴科学计算应用的开发和优化,设计并实现面向SW26010Pro平台的优化编译器swLLVM.该编译器支持Athread和SDAA双模态异构编程模型,提供多级存储层次描述及向量操作扩展,并且针对SW26010Pro架构特点实现控制流向量化、基于代价的节点合并以及针对多级存储层次的编译优化.测试结果表明,所设计并实现的编译优化效果显著,其中,控制流向量化和节点合并优化的平均加速比分别为1.23和1.11,而访存相关优化最高可获得2.49倍的性能提升.最后,使用SPEC CPU2006标准测试集从多个维度对swLLVM进行了综合评估,相较于SWGCC的相同优化级别,swLLVM整型课题性能平均下降0.12%,浮点型课题性能平均提升9.04%,整体性能平均提升5.25%,编译速度平均提升79.1%,代码尺寸平均减少1.15%.