LBM算法在Cell处理器上的实现与优化

LBM算法在Cell处理器上的实现与优化

论文摘要

异构多核处理器是当前产业界和学术界的研究热点。Cell作为现代异构多核处理器的典型代表,其主处理器与协处理器各司其职的独特设计思想受到了业界的广泛关注。它优良的工作性能也在PS3游戏机和一些富媒体消费电子设备上得到了充分的体现。然而如何将这种体系结构应用到科学计算程序上来为科研服务,目前还处于研究探索阶段。本文选取SPECfp2006中的浮点基准测试程序LBM,研究科学计算程序在Cell异构多核处理器上的移植和性能优化方法,同时评估Cell处理器的科学计算处理能力。本文的主要工作有五个方面:一是研究了Cell处理器的硬件结构特点和编程环境。二是对LBM基准程序的数据布局与实现原理进行了分析研究,并根据Cell处理器的特点对LBM移植后在PPE和SPE上的任务进行了划分。三是为实现LBM程序的移植设计了一种新的编程模式,并在这个模式的基础上分别对PPE和SPE上的代码进行了移植。四是通过对SPE上的代码使用SIMD向量构造技术和双缓冲技术进行优化,来实现Cell处理器最佳处理性能。五是对移植后的LBM程序的性能进行了测试,并与在X86处理器上运行时的性能进行了对比分析。经过我们对测试结果的分析,LBM在Cell处理器上能获得较好的性能,说明了Cell处理器具备了较强的科学计算能力。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题背景
  • 1.1.1 异构多核处理器的发展
  • 1.1.2 CELL处理器的影响
  • 1.2 研究现状
  • 1.2.1 Cell处理器的编程支持
  • 1.2.2 Cell处理器的应用开发
  • 1.3 主要工作和创新
  • 1.4 本文结构
  • 第二章 Cell处理器与编程环境
  • 2.1 概述
  • 2.1.1 Cell在处理器性能上的三大突破
  • 2.2 Cell处理器的结构
  • 2.2.1 PPE处理器
  • 2.2.2 SPE处理器
  • 2.2.3 EIB环状总线
  • 2.3 Cell处理器的编程环境
  • 2.3.1 PPE指令集
  • 2.3.2 SPU指令集
  • 2.3.3 存储域
  • 2.3.4 SIMD向量化
  • 2.3.5 DMA传输和处理器之间的通讯
  • 第三章 LBM的原理和算法
  • 3.1 LBM 的原理
  • 3.1.1 格子—玻尔兹曼方法简介
  • 3.1.2 LBM的数学原理
  • 3.1.3 LBM方法的物理模型
  • 3.2 LBM算法的C语言实现
  • 3.2.1 数据布局
  • 3.2.2 数据初始化
  • 3.2.3 LBM程序主要函数及功能说明
  • 3.2.4 LBM程序执行流程图
  • 第四章 LBM算法在Cell处理器上的实现和优化
  • 4.1 程序任务的划分
  • 4.1.1 主要依据和原则
  • 4.1.2 LBM的函数执行性能分析
  • 4.1.3 LBM在Cell处理器上的任务划分
  • 4.2 LBM在Cell上的编程模式
  • 4.2.1 Cell上的几种主要的程序设计模型介绍
  • 4.2.2 双并行编程模式在LBM程序中的应用
  • 4.3 PPE上代码的移植
  • 4.3.1 计算任务分配
  • 4.3.2 SPE线程的创建
  • 4.3.3 邮箱指令的发送与接收
  • 4.3.4 多线程同步的控制与实现
  • 4.4 SPE上代码的移植
  • 4.4.1 模块主体结构设计
  • 4.4.2 数据缓冲区设置
  • 4.4.3 指令控制模块的实现
  • 4.4.4 DMA传输功能的实现
  • 4.5 SPE上代码的优化
  • 4.5.1 SIMD向量优化
  • 4.5.2 双缓冲优化
  • 第五章 测试结果及性能评测
  • 5.1 测试环境
  • 5.2 测试结果及分析
  • 5.2.1 程序移植的正确性验证
  • 5.2.2 SPE代码的优化效果验证
  • 5.2.3 与X86处理器的执行性能对比
  • 5.2.4 归纳和总结
  • 第六章 结束语
  • 6.1 工作总结
  • 6.2 展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    LBM算法在Cell处理器上的实现与优化
    下载Doc文档

    猜你喜欢