6678_OpenMP学习笔记整理(二)——task

OpenMP API 用户指南:https://docs.oracle.com/cd/E57201_01/html/E58572/docinfo.html#scrolltoc

 一、OpenMP任务处理模型

1、OpenMP 任务执行

 显式任务使用 task 构造指定,该构造可放置在程序中的任一位置。只要线程遇到 task 构造,就会生成一个新任务

允许线程在任务调度点暂停执行任务区域,以便执行另一任务

与任务关联的代码仅执行一次。如果代码从始至终都必须由相同的线程执行,则任务为绑定 (tied) 任务。如果代码可由多个线程执行,即由不同的线程执行任务代码的不同部分,则任务为非绑定 (untied) 任务

OpenMP 规范还介绍了隐式任务的概念。隐式任务是由隐式并行区域生成的任务,或是在执行期间遇到 parallel 构造时生成的任务。在后一种情况中,每个隐式任务的代码都是 parallel 构造内的代码。每个隐式任务分配给组中不同的线程,且为绑定 (tied) 任务。

2、 OpenMP 任务类型

1)不延迟 (undeferred) 任务是指相对于生成任务,不会延迟执行的任务

2)与不延迟 (undeferred) 任务不同,

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值