OpenMP 3.0中,task特性对比其他有什么优点?

dbd27 2011-01-09 02:31:12
task特性的功能是可以被其他特性所实现的,例如for,section等。
这样的话,task还有什么存在的意义?他的优点在哪里?
...全文
512 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
david-yue 2013-07-16
  • 打赏
  • 举报
回复
Task和for和sections的区别在于:task是“动态”定义任务的,在运行过程中,只需要使用task就会定义一个任务,任务就会在一个线程上去执行,那么其它的任务就可以并行的执行。可能某一个任务执行了一半的时候,或者甚至要执行完的时候,程序可以去创建第二个任务,任务在一个线程上去执行,一个动态的过程,不像sections和for那样,在运行之前,已经可以判断出可以如何去分配任务。而且,task是可以进行嵌套定义的,可以用于递归的情况。因此,task主要适用于不规则的循环迭代(如循环)和递归的函数调用。
dbd27 2011-01-11
  • 打赏
  • 举报
回复
没人搞过这方面的吗?

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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