蒋庆
- 作品数:4 被引量:13H指数:2
- 供职机构:西安交通大学更多>>
- 发文基金:国家自然科学基金国家高技术研究发展计划陕西省社会发展科技攻关项目更多>>
- 相关领域:自动化与计算机技术更多>>
- 一种基于机器学习的循环分块大小选择方法
- 本发明提供一种基于机器学习的循环分块大小选择方法,针对原始DOALL循环进行合成程序构造,通过列下标元组的全排列使合成程序中的n层嵌套循环的特征值全面覆盖到原始程序以及真实应用程序中的循环;通过对n层嵌套循环变换得到的2...
- 伍卫国刘松崔元桢蒋庆谢骁邹年俊
- 面向局部性和并行优化的循环分块技术被引量:10
- 2015年
- 循环分块是一种广泛用于改善数据局部性和开发并行性的程序变换优化技术.主要分为2类:固定分块技术和参数化分块技术,系统地总结了这2类技术,并分析了其优缺点.由于分块大小的选择会严重影响分块代码的性能,因此介绍分析了选择最优分块大小的各种方法.此外,总结了循环分块在多级分块、并行性开发和不完美嵌套循环等方面应用的各项技术.通过对循环分块技术当前研究现状的分析,得出如下结论:1)循环分块技术中的计算复杂度和生成代码效率问题还未得到完全解决,如何利用循环边界有效地约束迭代空间并提高数据局部性还需要更深入的研究;2)最优分块大小的选择依然是一个开放式难题,研究清楚分级存储架构中每级分块对性能的影响具有重要的意义;3)从循环分块的应用角度,如何有效地构建面向任意嵌套循环集的自动分块代码生成系统,同时充分利用深度共享存储资源和多核架构实现分块代码的高并行度,也是一个需要深入研究的问题.
- 刘松伍卫国赵博蒋庆
- 关键词:并行性
- 一种基于机器学习的循环分块大小选择方法
- 本发明提供一种基于机器学习的循环分块大小选择方法,针对原始DOALL循环进行合成程序构造,通过列下标元组的全排列使合成程序中的n层嵌套循环的特征值全面覆盖到原始程序以及真实应用程序中的循环;通过对n层嵌套循环变换得到的2...
- 伍卫国刘松崔元桢蒋庆谢骁邹年俊
- 文献传递
- 一种面向循环优化和非规则代码段的粗粒度半自动并行化方法被引量:4
- 2017年
- 多核架构已成为当今的主流,而大量传统的串行程序和遗留软件无法充分利用多核处理器的并行计算性能.人工改写这些遗留软件工作量繁重、成本高昂,自动实现程序并行化的技术成为学术和工业界研究的热点.该文提出了一种新颖的面向一般程序的for循环优化和非规则代码段的粗粒度半自动并行化方法.该方法通过程序动态分析,根据程序的控制流和数据依赖信息将源程序代码映射成可计算单元(CU)图,从中提取出可并行执行的非规则代码段.同时针对程序中for循环部分,提出了一种基于局部性分析的分块收益模型,有效地选择具有收益的循环代码实施循环分块优化;提出了一种基于cache均匀映射的最优分块因子大小选择算法UMC-TSS,以生成优化的分块代码,充分利用cache性能并实现分块的粗粒度并行.该文实现了一个基于LLVM编译架构的C/C++源码到Intel TBB并行源码转换的半自动化工具,它在AST上进行深度代码重构,只需少量的人工干预即可生成高效的并行代码.为了验证该文方法的有效性,从4组不同的基准测试集上选取18个具有代表性的测试程序在一台Intel Xeon多核服务器上进行了一系列实验,在循环级和任务级并行性能上分别获得平均10.95和4.45的加速比.和目前最先进的一种最优分块大小算法相比,UMC-TSS算法平均提升了4%的分块代码性能.实验结果还表明由源到源代码转换工具生成的Intel TBB并行代码具有良好的并行性和可扩展性.
- 刘松赵博蒋庆伍卫国