《OpenACC并行程序设计:性能优化实践指南》一 1.6 控制并行资源

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

《OpenACC并行程序设计:性能优化实践指南》一 1.6 控制并行资源

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

1.6 控制并行资源

accParaCounter.cpp中的嵌套循环结构可以用来控制循环并行性,因此可以控制并行资源消耗。
大多数并行编程人员遵循在系统中利用最大并行性来实现最高性能的方法。
大量线程背后的思路是给予并行调度器尽可能多的线程以供调度,从而最大化地利用所有计算资源。GPU编程人员喜欢用占有率(occupancy)作为线程并行度的度量。高占有率意味着调度器有更多的激活线程以供调用,因此有机会实现更高性能。
高占有率并不一定转为最快的应用性能。指令级并行(Instruction level parallelism,ILP)通过较少的线程来保持处理器(或GPU)忙碌以隐藏线程等待时间,线程数越少,消耗的资源和开销越少。指令级并行同样可以获得高性能。但是,编程人员必须安排好计算以确保最好地使用并行硬件。使用ILP的原因简单却有效:

网友评论

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