基于神经网络的循环分块大小预测
循环程序的优化一直是程序优化的重点,循环分块作为一种典型的循环程序优化技术已被广泛地研究和应用.分块大小的选择对循环程序的性能有着重要影响,分块大小的选择复杂多变且高度依赖程序和硬件.传统的静态分析和启发式经验搜索的人工和时间成本过高,缺少通用性和可移植性.为此,考虑使用有良好高维表示特性的神经网络方法来学习程序与硬件复杂交互过程中分块大小与程序性能的隐含关联.从问题规模、循环结构、循环内操作的局部性等方面抽取出一组新的29维特征,对问题规模为1024~2048的随机大小的6类内核程序(3维循环、2维数据)的数十万行示例进行实验.串行模型(TSS-T6)相比GCC-O2默认优化实现了6.64倍的平均加速比,相比穷尽搜索实现了98.5%的平均最大可用性能,相比Pluto默认分块优化实现了平均9.9%的性能提升.并行模型(TSSP-T6-Search)相比OpenMP默认优化实现了2.41倍的平均加速比,相比穷尽搜索实现了91.7%的平均最大可用性能,同时与Pluto默认分块并行优化相比得到了平均9%的性能提升.
编译优化、自动调优、循环程序分块、人工神经网络、缓存优化
47
TP314(计算技术、计算机技术)
国家自然科学基金面上项目;中国科学院"西部之光";重庆市院士牵头科技创新引导专项
2020-08-26(万方平台首次上网日期,不代表论文的发表时间)
共9页
62-70