OpenMP学习笔记之常用指令parallel/sections/critical 其余待续
主要涵盖以下指令:
- 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 其余待续相关推荐
- OPENMP学习笔记(1)——简介,模型,运行
OPENMP学习笔记(1)--简介,模型,运行 简介: OpenMP的英文全称是Open Multiprocessing,一种应用程序接口(API,即Application Program Inter ...
- OpenMP学习笔记1
OpenMP学习笔记1 介绍 在C/C++中,OpenMP可以通过使用预处理指令来让程序并行化.OpenMP指令使用的格式为: #pragma omp 指令 [子句[子句]-] fork/join并行 ...
- Python学习笔记:常用内建模块3:struct
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- 学mysql是学指令吗_学习Mysql (二) 常用指令
环境搭建OK.可视化查看看得我一脸懵逼,还是命令行学习下. 常用指令: 1. 登录: mysql -h 主机名 -u 用户名 -p 注:本机localhost的话,-h部分可以省略.-p后面不写密码的 ...
- Python学习笔记:常用第三方模块3
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用第三方模块(1)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块6 (urllib)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块4:hmac
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- jquery学习笔记及常用函数封装
二.JQuery 学习笔记及常用函数封装 https://download.csdn.net/download/weixin_42530002/13087988 1.JQuery入门 (1).css选 ...
最新文章
- [喵咪的Liunx(1)]计划任务队列脚本后台进程Supervisor帮你搞定
- AngularJs学习笔记--Forms
- 【组队学习】【30期】李宏毅机器学习(含深度学习)
- 信息转换原理: 信息、知识、智能的一体化理论
- 短视频SDK架构设计,短视频APP开发目标首选
- hive 行转列和列转行的方法_Hive超详细存储
- DataTabel中关于ImpotRow的一点尝试
- [C++]有关深复制与copy constructor的一些问题与实例
- < meta name=“viewport“ content=“width=device-width, initial-scale=1.0“>的解释
- System.Net.Mail的属性与方法集锦
- springmvc 全局编码_Java SpringMVC乱码问题排查和解决
- 基于JAVA+SpringMVC+Mybatis+MYSQL的旅游景点酒店预订网站设计
- 安装 | 最新MATLAB 2020b(64位)安装教程完整版
- Android 强制设置应用横屏或竖屏
- Python:计算任意n阶矩阵行列式
- vue.esm.js:632 [Vue warn]: Unknown custom element: <router-link> - did you register the component co
- 泊松分布分布与Python图解
- 系统概念设计的完整性
- 新百家姓出来了,看你排第几位?
- 中国移动物联卡用户超2600万 目标2020年物联网收入规模达千亿