第四讲多核技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 规则应用性能测试 pthread层小访存应用性能测试 MPI层小访存应用性能测试 * 复杂非规则应用性能测试 复杂非规则应用性能测试 复杂非规则应用性能多级优化 未优化: 默认配置是单缓冲 GPU加速并行计算 CUDA程序执行模式 * 面向GPU的性能优化方法研究 采用三级优化策略,以渐近的方式完成应用在该异构并行系统上的性能提升。 三级优化:访存级优化、内核加速级优化、数据划分级优化。 三级渐近优化策略的设计与实现 访存级优化:分析应用变量的访存特性,分配合适的存储空间,减小访存延迟。 内核加速级优化:整合线程块、采用数据预取等,开发GPU计算能力、进一步减小访存延迟。 数据划分级优化:对主机-设备端带宽以及GPU计算能力进行分析,将数据进行合理划分进行处理,实现数据拷贝与GPU计算时间重叠。 * 矩阵相乘(三级优化) 浪潮NF5588服务器,4核Xeon , 12GB内存,NVIDIA Tesla C1060;操作系统为RedHat企业服务器5.3版;CUDA2.3 相对于访存级优化,数据划分级优化后的矩阵相乘性能提高了31%-35% * 快速傅立叶变换(三级优化) 29点快速傅立叶变换 220点快速傅立叶变换 相对于访存级优化,数据划分级优化后性能提高了31%-43% 相对于访存级优化,数据划分级优化后性能提高了38%-40% 稀疏矩阵线性方程组迭代法测试(相对于1核CPU) 稀疏矩阵矢量乘算法基本测试(相对于1核CPU) 矩阵选自由佛罗里达大学提供的数据源:Davis T. The University of Florida Spare Matrix Collection[DB/OL]. / research/sparse/matrices/. 非零元个数 非零元个数 GPU C1060与M2050的内核函数时间对比 GPUC1060与M2050整体时间对比 GPU C1060与M2050数据传输时间差异 浪潮GPU卡直接连接在内存控制器 * 面向GPU的源到源编译器 通过自动映射与静态编译相结合,基于GPU流处理架构做了以下两方面的研究 (1)制导语句提供隐式调用CUDA运行时库的方法,增强用户对映射的控制能力,实现同构平台到异构平台的映射 (2)运行时剖分指导优化机制, 通过收集剖分信息,达到针对应用特性充分利用GPU资源的目的 * 支持运行时剖分优化机制 一级剖分 (函数级剖分) 二级剖分 (访存级和内核加速级) 三级剖分 (数据划分级) * 矩阵乘法剖分前后性能对比 矩阵乘法不同平台上运行性能对比 实验平台: 浪潮英信NF5588服务器:4核Xeon , 12GB内存,NVIDIA Tesla C1060 操作系统为RedHat企业服务器5.3版 CUDA2.3 * FFT(1048576个点)剖分前后性能对比 FFT(单批1048576个点)不同平台上运行性能对比 * MPI+CUDA混合并行编程模式 CUDA程序执行模式 MPI+CUDA混合编程模型 UPC+CUDA混合并行编程模式 UPC存储模型 * UPC+CUDA存储模型 UPC对应用进行粗粒度任务分解,产生在CPU运行的多个UPC线程 每个UPC线程的计算核心通过CUDA进行细粒度并行,在GPU执行 GPU访问共享空间的私有化 UPC+CUDA程序组织结构 * 实验与测试 实验平台 2台浪潮英信NF5588服务器 1个4核的Xeon CPU (主频2.27GHz), 12GB内存 2块NVIDIA Tesla C1060 GPU(GT200核心,4GB显存) 千兆以太网连接 操作系统为RedHatLinux5.3企业版 CUDA Toolkit和CUDA SDK等开发包 MPI环境安装使用openMPI开发包 UPC环境安装使用BerkeleyUPC开发包 * MPI+CUDA测试 4094*4096时,使用1个GPU运行时间比8个MPI任务加速比达到184倍 当数据规模比较小时,如256,512 使用两个GPU运行时间反而比一个GPU运行时间长 原因就是运算量太小,通信等开销却增加 2台服务器,最多并行运行8个任务 使用1台服务器两个GPU * 使用2台服务器4个GPU测试 8192*8192 16384*16384 随着任务数量的增多,每个任务中计算核心CUDA函数的执行时间逐渐缩小,但任务总时间在任务数量从2变为4时却增加 原因:多台服务器时并行任务间的通信通过千兆网络,其传输带宽远低于节点内通信使用的总线带宽。 当数据规模非常大或使用专用的互连网(Infiniband等)时,多节点多GPU并行将可以提高程序总的运行效率 * UPC+CUDA测试 4096规模下:1个任

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档