OpenMP Guided求解

Near2009011264 2011-10-20 06:48:41
OpenMP Guided是怎样的工作机制?
求大神指导
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
intel_iclifort 2011-10-21
  • 打赏
  • 举报
回复
采用哪种方式合理,主要取决于并行算法设计中数据分割的设计,和数据本身的结构特点
intel_iclifort 2011-10-21
  • 打赏
  • 举报
回复
基本上就是动态分配任务的思想,解决原先静态分配可能导致的性能问题

比如说,循环从 1 to 100, OMP thread 数量 = 4,那么缺省的分配方式就是 简单地一分为四:
OMP thread 1 拿 1 到 25; OMP thread 2 拿 26 到 50;OMP thread 3 拿 51 到 75, OMP thread 4 拿 76 到 100.

这种平均分配的模式,在某些特定的情况下,会导致不同 OMP thread 间的工作负载(Workload)分配不均衡,还是有性能提升的空间。

所以产生了动态分配的想法。或者,每个 OMP thread 轮流分配一个比较小的数量直到全部分配完毕 (比如说一次拿 5 个,而不是原先一次性拿满 25 个) ; 或者,每个 OMP thread 先分配一个固定数量,然后再根据完成的情况,先完成的再继续分配一个小数量,直到全部分配完毕

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧