学位论文 > 优秀研究生学位论文题录展示

面向异构处理器的代价模型及存储优化技术研究

作 者: 黄品丰
导 师: 赵荣彩
学 校: 解放军信息工程大学
专 业: 计算机科学与技术
关键词: 异构处理器 并行化编译 异构架构 并行编程模型 并行代价模型 存储优化
分类号: TP314
类 型: 硕士论文
年 份: 2013年
下 载: 6次
引 用: 0次
阅 读: 论文下载
 

内容摘要


异构处理器在高性能计算领域的应用越来越广泛。它在单芯片上集成了不同类型的处理器核,为并行计算提供了巨大潜力,但也带来了巨大挑战。人们需要掌握更高级的编程模型和更丰富的体系结构知识才能编写出充分利用异构资源的并行代码。这对普通程序员来说是很困难的。于是并行化编译成为快速获得高效并行程序的主要途径。目前面向异构架构的并行化编译技术已经取得丰硕的研究成果,但仍有很多问题亟待分析与解决。本文以OpenACC异构并行代码为目标,探讨自动并行化过程中所涉及的代价模型和存储优化问题。主要研究内容包括:1、针对传统编译框架无法满足新型体系结构的需求问题,设计了面向某国产异构处理器的并行化编译框架,并实现了它的原型系统Auto-ACC.该系统利用面向异构结构的并行代价模型进行并行循环识别和并行区优化,并使用若干存储优化方法把循环引用的数据合理地划分到从核局部存储,最终生成可在异构处理器上运行的高效并行代码。实验表明,该系统能够正确生成OpenACC并行代码,并在目标平台上获得较高的性能。2、针对现有并行代价模型在评估循环的异构并行性能时存在诸多不足的问题,提出了面向异构结构的代价评估模型。该模型根据异构处理器的特征,引入参数描述主从核不同运算能力、主局存不同访问延迟以及数据传输对循环执行时间的影响,提高了循环并行收益评估的准确性。实验表明,该模型有效减少了负收益循环的并行,提升了生成的并行程序性能。3、针对有限局部存储空间的利用问题,提出了面向局部数据存储器的多级自适应存储优化框架。该框架通过五种存储优化方法,对并行循环引用的数据进行高效的管理:(1)通过数组分块对循环数组进行划分,使划分后的数据块满足局部存储容量的限制。(2)通过数组访问模式指导的数据分布,把规则访问数组的计算所需元素提取传进局部存储,把不规则访问数组映射到软件cache。(3)通过数组转置改变访问不连续的数组的各维存储顺序,使数组以与循环嵌套访问方式一致的存储方式存储,从而将不连续访存转换为连续访存。(4)通过标量聚集把多个零散标量的传输聚集为一个数据单元传输,减少数据传输次数,提高标量传输效率。(5)通过创建加速数据区,把循环嵌套内的数据传输操作转移到循环嵌套外进行,使得数据传输仅发生在循环计算开始前和结束后,避免外层串行循环迭代计算时内层并行循环的多次数据拷贝。实验表明,这些存储优化方法从不同层次、不同粒度优化了数据的传输、存储和访问,使生成的OpenACC并行程序性能得到不同程度的提高。

全文目录


摘要  4-5
ABSTRACT  5-10
图目录  10-12
表目录  12-13
第一章 绪论  13-23
  1.1 研究背景  13-15
    1.1.1 异构处理器的发展  13-14
    1.1.2 异构处理器在编程上面临的挑战  14-15
  1.2 课题研究意义  15-16
  1.3 国内外研究现状  16-19
    1.3.1 代价模型  16-18
    1.3.2 存储优化  18-19
  1.4 论文研究内容  19-20
  1.5 主要贡献及创新点  20-22
  1.6 论文结构安排  22-23
第二章 面向异构结构的并行化编译框架  23-33
  2.1 异构并行计算架构  23-24
  2.2 异构并行编程模型  24-27
    2.2.1 相关研究  24-25
    2.2.2 OpenACC并行编程模型  25-27
  2.3 面向OpenACC的自动并行化  27-31
    2.3.1 Open64简介  28-29
    2.3.2 并行化编译框架设计  29-31
  2.4 本章小结  31-33
第三章 面向异构结构的并行代价模型  33-47
  3.1 问题提出  33-34
  3.2 相关研究  34
  3.3 循环并行性分析  34-35
  3.4 并行代价模型的构建  35-40
    3.4.1 循环串行执行时间  36-38
    3.4.2 循环并行执行时间  38-40
    3.4.3 并行收益评估  40
  3.5 基于并行代价模型的并行加速循环识别算法  40-42
  3.6 面向相邻并行循环的并行区合并与扩展  42-45
    3.6.1 并行区合并与扩展的提出  42-43
    3.6.2 并行区合并与扩展算法的实现  43-45
  3.7 本章小结  45-47
第四章 面向局部数据存储器的存储优化  47-69
  4.1 研究背景  47-48
  4.2 多级自适应的存储优化框架  48-49
  4.3 数据流分析  49-50
    4.3.1 基本概念  49
    4.3.2 研究基础  49-50
  4.4 数据规模自适应的数组分块  50-56
    4.4.1 问题提出  50-51
    4.4.2 相关研究  51
    4.4.3 数组分块子句的引进  51-53
    4.4.4 理想数组分块方案求解  53-56
  4.5 数组访问模式指导的数据分布  56-61
    4.5.1 问题提出  56
    4.5.2 相关研究  56-57
    4.5.3 数据分布子句的引进  57-58
    4.5.4 数据分布子句的自动生成  58-61
  4.6 主从协作的数组转置  61-64
    4.6.1 问题提出  61
    4.6.2 数组转置子句的引进  61-63
    4.6.3 数组转置子句的自动生成  63-64
  4.7 多点融合的标量聚集  64-65
    4.7.1 问题提出  64
    4.7.2 数据打包子句的引进  64-65
    4.7.3 数据打包子句的自动生成  65
  4.8 简约的外围数据传输  65-67
    4.8.1 问题提出  65
    4.8.2 加速数据区编译指示的引进  65-66
    4.8.3 加速数据区编译指示的自动生成  66-67
  4.9 本章小结  67-69
第五章 测试与实验分析  69-81
  5.1 测试环境准备  69
    5.1.1 硬件环境  69
    5.1.2 软件环境  69
  5.2 测试及分析  69-80
    5.2.1 并行代价模型测试  69-72
    5.2.2 局部存储优化技术测试  72-79
    5.2.3 联合测试  79-80
  5.3 本章小结  80-81
第六章 结论  81-83
致谢  83-85
参考文献  85-91
作者简历 攻读硕士学位期间完成的主要工作  91

相似论文

  1. 自适应混合高斯背景建模算法的GPU并行优化研究,TP391.41
  2. 面向程序访存特征的存储优化技术研究,TP333
  3. C到CUDA编译架构研究与实现,TP391.41
  4. 全局数组数据流分析技术的研究与实现,TP338.6
  5. 基于MapReduce的并行决策树分类算法研究与实现,TP311.13
  6. 基于标准托盘管理的第三方物流存储系统优化,F224
  7. 基于CPU-GPU异构平台的性能优化及多核并行编程模型的研究,TP311.1
  8. 基于CMP集群的并行编程模型的研究与应用,TP338.6
  9. 片上网络多核处理器的性能测试与并行编程研究,TN47
  10. 网络处理器的并行编程模型研究,TP393.05
  11. VLIW处理器上数字图像匹配系统设计与性能优化技术研究,TP391.41
  12. 全文信息检索的快速索引文件结构及系统的设计与实现,TP391.3
  13. 商品存储优化问题的研究及系统实现,F716
  14. 网络存储系统预取协调优化研究,TP333
  15. 华南蓝天航空油料公司航油存储优化研究,F426.22;F562
  16. 高性能层次并行流存储系统研究与实现,TP333
  17. 轮胎单元存储优化,U463
  18. 层次数据库模型在数字电视机顶盒中的设计与实现,TN949.197
  19. 网络处理器并行体系结构研究与性能改进,TN915.05
  20. 基于AABB包围盒的碰撞检测算法的研究,TP311.52
  21. 可堆叠安全文件系统的存储优化的分析与研究,TP316

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com