主要涵盖以下指令:

  • parallel
  • parallel for
  • sections
  • critical
  • single
  • flush
  • atomic
  • master
  • ordered
  • threadprivate

parallel

用在一个代码段之前,表示这段代码将被多个线程并行执行

parallel for

用于for循环之前,将循环分配到多个线程中并行执行.
注意区分parallel for和parallel。前者是多个线程分别执行循环的一部分,后者是多个线程都执行完整的循环。

用于此构造的子句有schedule、shared、default、reduction、collapse等。

sections

用在可能会被并行执行的代码段之前,通过section将代码块划分给不同线程执行。

c/c++

#pragma omp [parallel] sections [子句]
{#pragma omp section{代码块}
}

只有添加参数parallel时,sections后的section代码块才会并行执行,否则为串行,即所有代码块由主线程顺序执行。

critical

critical的语义是指在任意时刻只有一个(或是最多一个)线程在执行临界区内的代码, 其目的是对于临界区内的线程之间共享的资源进行保护,比如几个线程对一个公共链表进行插入或删除操作,此时就需要使用critical, 否者该链表中的数据可能不一致。临界区的代码应该是一个块结构(structured block), 其中不允许有返回(return), 退出(exit), 或者从里面跳出(go to)语句。

c/c++

#pragma omp critical [ name ]  newlinestructured_block

single

flush

atomic

master

ordered

threadprivate

OpenMP学习笔记之常用指令parallel/sections/critical 其余待续相关推荐

  1. OPENMP学习笔记(1)——简介,模型,运行

    OPENMP学习笔记(1)--简介,模型,运行 简介: OpenMP的英文全称是Open Multiprocessing,一种应用程序接口(API,即Application Program Inter ...

  2. OpenMP学习笔记1

    OpenMP学习笔记1 介绍 在C/C++中,OpenMP可以通过使用预处理指令来让程序并行化.OpenMP指令使用的格式为: #pragma omp 指令 [子句[子句]-] fork/join并行 ...

  3. Python学习笔记:常用内建模块3:struct

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. 学mysql是学指令吗_学习Mysql (二) 常用指令

    环境搭建OK.可视化查看看得我一脸懵逼,还是命令行学习下. 常用指令: 1. 登录: mysql -h 主机名 -u 用户名 -p 注:本机localhost的话,-h部分可以省略.-p后面不写密码的 ...

  5. Python学习笔记:常用第三方模块3

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. Python学习笔记:常用第三方模块(1)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. Python学习笔记:常用内建模块6 (urllib)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. Python学习笔记:常用内建模块4:hmac

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. jquery学习笔记及常用函数封装

    二.JQuery 学习笔记及常用函数封装 https://download.csdn.net/download/weixin_42530002/13087988 1.JQuery入门 (1).css选 ...

最新文章

  1. [喵咪的Liunx(1)]计划任务队列脚本后台进程Supervisor帮你搞定
  2. AngularJs学习笔记--Forms
  3. 【组队学习】【30期】李宏毅机器学习(含深度学习)
  4. 信息转换原理: 信息、知识、智能的一体化理论
  5. 短视频SDK架构设计,短视频APP开发目标首选
  6. hive 行转列和列转行的方法_Hive超详细存储
  7. DataTabel中关于ImpotRow的一点尝试
  8. [C++]有关深复制与copy constructor的一些问题与实例
  9. < meta name=“viewport“ content=“width=device-width, initial-scale=1.0“>的解释
  10. System.Net.Mail的属性与方法集锦
  11. springmvc 全局编码_Java SpringMVC乱码问题排查和解决
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的旅游景点酒店预订网站设计
  13. 安装 | 最新MATLAB 2020b(64位)安装教程完整版
  14. Android 强制设置应用横屏或竖屏
  15. Python:计算任意n阶矩阵行列式
  16. vue.esm.js:632 [Vue warn]: Unknown custom element: <router-link> - did you register the component co
  17. 泊松分布分布与Python图解
  18. 系统概念设计的完整性
  19. 新百家姓出来了,看你排第几位?
  20. 中国移动物联卡用户超2600万 目标2020年物联网收入规模达千亿

热门文章

  1. 区块链基础知识与关键技术解析
  2. mysql 签到_签到功能,用mysql还是redis?
  3. 【华为OD机试模拟题】用 C++ 实现 - 预订酒店(2023.Q1)
  4. 微信小程序:修复图片音频全新升级带特效喝酒神器源码
  5. DNS添加/修改/查询/删除A记录
  6. Python基础教程目录
  7. directdraw(directdraw怎么开启)
  8. 内网穿透工具Ngrok
  9. 趣商宝微信招生方案 ,线上招生难,十大绝招帮您搞定微信吸粉!
  10. Java安全开发注意事项