5小时加速5倍利用PGI加速器模型移植SEISMIC_.docx

5小时加速5倍利用PGI加速器模型移植SEISMIC_.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5小时加速5倍利用PGI加速器模型移植SEISMIC_.docx

5小时加速5倍 利用PGI加速器模型移植 SEISMIC_CPML February 2012 ® C99、C++、F2003编译器 优化 向量化 并行化 图形界面并行工具 PGDBG®调试器 PGPROF®分析器 英特尔(Intel)、超威(AMD)、英伟达(NVIDIA) PGI Unified Binary™ Linux、MacOS、Windows Visual Studio集成 GPGPU的功能 CUDA Fortran/C/C++ PGI Accelerator™ CUDA-x86 PGI 编译器 具备 CUDA Fortran 的扩展内容的完整版Fortran 2003 具备所有的PGI功能和优化特点的GNU兼容的 C++ 针对64位多核处理器的完整版 CUDA C/C++ 编译器 适用于 Intel 和 AMD CPU的AVX SIMD向量化 IPA 优化可实现改进型自a动并行化 用于F2003和C99的完整版 v1.3 PGI 加速器编程模型 用于F2003和C99的OpenACC 1.0 (12.3 测试版,12.6 版产品) 异步数据传输和内核启动 PGI 工具 在本地机器上用 PGDBG GUI 进行远程集群调试 在Linux下PGI C/C++ 编译器的Eclipse 集成 PGI Unified Binary 支持在 Intel 和 AMD 的 CPU 以及 NVIDIA 的GPU上运行 简化了向新型 AVX 驱动式 CPU 的过渡 PGI 2012 发布版的新功能与更新内容 main() { … serial code … #pragma acc region { compute intensive code } … CPU GPU 典型的并行代码 指令语 PGI加速器指令语 实现Fortran 和 C 大规模并行应用程序在NVIDIA GPU上运行的捷径 优势? 容易上手、循序渐进 单一源代码树和适用于 CPU和GPU的二进制 编译器处理所有簿记细节 小投入 大影响 大石油公司 Jorge Pita 博士 7天加速3倍 在全球最大的油气藏 解决了数以亿计的石油 勘探方程迭代 休斯顿大学 Kayali 教授 2天加速20倍 在多个领域(如存储、 记忆和生物感测)分析静磁感应以实现创新 乌法国立航空技术大学 Arthur Yuldashev 教授 4天加速7倍 以钻孔数据随机生成油田 储层的地质模型 墨尔本大学 Black 教授 2天加速60倍 借助于研究菲利普港湾 鲷鱼的生命周期,更加深入地认识各种复杂因素 GAMESS-UK Karl Wilkinson 教授 加速10倍 可在各个领域中应用, 如研究生物燃料生产和分子传感器。 用PGI加速器指令语的典型移植过程 64位多核处理器 + NVIDIA GPU构架 下面我们来看一个简单的例子…… for (iter = 1; iter = niters; ++iter){ #pragma acc region { for (i = 1; i n-1; ++i){ for (j = 1; j m-1; ++j){ a[i][j]=w0*b[i][j]+ w1*(b[i-1][j]+b[i+1][j]+ b[i][j-1]+b[i][j+1])+ w2*(b[i-1][j-1]+b[i-1][j+1]+ b[i+1][j-1]+b[i+1][j+1]); } } for( i = 1; i n-1; ++i ) for( j = 1; j m-1; ++j ) b[i][j] = a[i][j]; } } S2(B) S2(B) S1(B) S1(B) S2(B) S1(B) S2(B) A A B B S1(B) S1(B) PGI加速器计算区域 主存储器 GPU 存储器 #pragma acc data region \ copy(b[0:n-1][0:m-1]) \ local(a[0:n-1][0:m-1]) { for (iter = 1; iter = p; ++iter){ #pragma acc region { for (i = 1; i n-1; ++i){ for (j = 1; j m-1; ++j){ a[i][j]=w0*b[i][j]+ w1*(

文档评论(0)

magui + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档