一、omp_get_thread_num() VS omp_get_num_threads()

两个函数omp_get_thread_num()和omp_get_num_threads(),看起来很像的两个函数。omp_get_thread_num是获取当前线程的线程id(从结果也可以看到主线程的线程id是0)。omp_get_num_threads是获取线程数目。

  1. parallel指令用于定义一个并行区域。
  2. parallel并行区域是否并行由if子句决定。
  3. parallel并行区域内生成的线程数量依次决定于:num_threads子句、omp_set_num_threads()函数、OMP_NUM_THREADS环境变量、编译器实现(一般为核心数)。只有前一个没有指定的时候,才使用后面的来决定,所以默认不进行任何设置,就是根据编译器实现来决定。
  4. if和num_threads是两个子句,目前的结论是只用于parallel中.

二、pragma omp parallel

自动将下面语句执行N次,(N为电脑CPU核数),然后把每份指派给一个核去执行,而且多核之间为并行执行。
#pragma omp parallel for
并行执行相同代码段
自动将下面的for循环分成N份,(N为电脑CPU核数),然后把每份指派给一个核去执行,而且多核之间为并行执行。
#pragma omp parallel sections 和 #pragma omp parallel section
并行执行不同代码段,每个section都是一个线程,独立运行。
#pragma omp parallel for reduction(+:sum)
归约
#pragma omp critical
线程内互斥的代码段

OpenMP Tutorial学习笔记(4)OpenMP指令之同步构造(Parallel)
https://blog.csdn.net/gengshenghong/article/details/6956878

openmp 快速入门 常用技巧 parallel for sections reduction critical
https://blog.csdn.net/billbliss/article/details/44131591

openmp开启后计算结果错误原因
https://blog.csdn.net/fuwenyan/article/details/79500765

一起来学OpenMP(2)——常用的库函数
https://blog.csdn.net/donhao/article/details/5651782

深度学习自学(五):NCNN中openmp加速模块学习总结相关推荐

  1. Python学习篇(五) Python中的循环

    文章目录 前言 一.range函数 二.while循环 2.1四步循环法 三.for in 循环 四.流程控制语句 4.1 break 4.2 continue 五.else语句 六.嵌套循环 七.二 ...

  2. python中的glob 模块学习文件路径查找

    glob glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径. import glob ...

  3. python使用教程cmd啥意思-Python 中的cmd模块学习

    Python中的cmd模块类型提供了一个创建命令行解析器的框架.简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法.默认情况下,它使用read ...

  4. JavaScript学习总结(五)——Javascript中==和===的区别

    一.JavaScript"=="的作用 当==两边的内容是字符串时,则比较字符串的内容是否相等. 当==两边的内容是数字时,则比较数字的大小是否相等. 当==两边的内容是对象或者是 ...

  5. Python中的pandas模块学习

    本文是基于Windows系统环境,学习和测试pandas模块: Windows 10 PyCharm 2018.3.5 for Windows (exe) python 3.6.8 Windows x ...

  6. python中re_Python中re(正则表达式)模块学习

    今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...

  7. python中re模块_Python中re(正则表达式)模块学习

    今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...

  8. 【Python2】使用python中的turtle模块学习海龟绘图(有趣的python初体验)(最全最详细的turtle介绍使用)

    目录 海龟绘图 Python中tkinter的mainloop函数实质 turtle模块里的方法 Python绘图Turtle库详解 turtle绘图的基础知识: 海龟绘图 海龟绘图是Python中非 ...

  9. python中的random模块学习

    我将random模块中的各函数作为代码中的注释说明了: 下面是运行结果 参考文献 http://www.jb51.net/article/50066.htm

最新文章

  1. 批量替换_批量替换图框
  2. bzoj1875 边点互换+矩乘
  3. SQL 2005 中的数据约束
  4. C++类中不能定义自身类类型成员变量
  5. 秉承初心,砥砺奋进!华为云助力锦江都城开启云服务时代
  6. [教程]在Windows 2012 R2上安装Intel I217-V/I218-V网卡驱动
  7. 通过90行代码学会HTML5 WebSQL的4种基本操作 1
  8. 苹果鼠标驱动_EFI引导目录drivers64UEFI文件夹(.efi)文件驱动介绍
  9. Shiro总结和常见面试题
  10. 战地4无限加入服务器,战地1怎么加入服务器
  11. python爬去淘宝客订单_Python 应用淘宝客API接口简单获取优惠券的实现
  12. matplotlib绘图配色colormap问题
  13. 第三方支付风险控制研究 ——以支付宝为例
  14. 最全的数据中心(IDC)机房整体工程介绍
  15. 如何修改Oracle VM virtualbox虚拟机的屏幕大小
  16. 视频画中画效果制作,原来这么简单就可以做出
  17. LTE学习笔记--LTE无线连接过程--UE Attach过程和Detach过程
  18. linux系统getopt函数详解
  19. 解决qq安全防护更新进程总提示的方法
  20. 计算机应用基础统试题及答案,计算机应用基础统试题及答案

热门文章

  1. 路由映射-route-map之一路由再发布
  2. WindowsXP如何设置共享权限
  3. 系统设计和机器学习算法
  4. Fizz Gateway API in Java
  5. java 排序算法总结,Java排序算法总结之归并排序
  6. python怎么让按钮乱跑_python GUI实现小球满屏乱跑效果
  7. mysql如何保证数据不丢失_23 | MySQL是怎么保证数据不丢的?
  8. mysql数据传出_从MySQL读取数据,以List方式传出
  9. linux 系统命令和方法
  10. BZOJ4597 SHOI2016随机序列(线段树)