《OpenACC并行程序设计:性能优化实践指南》一 2.2 描述并行度

  1. 云栖社区>
  2. 华章计算机>
  3. 博客>
  4. 正文

《OpenACC并行程序设计:性能优化实践指南》一 2.2 描述并行度

华章计算机 2017-09-08 16:23:00 浏览976
展开阅读全文

2.2 描述并行度

已经获知了代码最为耗时的部分,接下来开始并行化重要的循环体。通常最好的优化方法是始于最为耗时的子程序,逐步向下探索。加速耗时75%的代码,效果优于加速仅耗时15%的代码。这表明应该首先致力于matvec子程序的加速,然后再对waxpby和dot进行加速。但是,因为这可能是读者的OpenACC处女行,所以从这三个函数中最为简单的一个开始,逐步改进,直至优化最为复杂的子程序。这就是并非首先加速matvec函数的原因。

2.2.1 加速waxpby

从vector_functions.h第33行代码开始,并行化waxpby子程序。该函数仅包含一个循环,通过向循环体起始点添加OpenACC kernels编译指导命令进行并行化。通过添加该编译指导命令,告知编译器,该循环具有OpenACC编译指导命令,要求编译器为目标加速器生

网友评论

登录后评论
0/500
评论
华章计算机
+ 关注
所属云栖号: 华章计算机