首页 > 其他分享 >OpenMP学习 第九章 通用核心回顾

OpenMP学习 第九章 通用核心回顾

时间:2024-01-24 21:47:43浏览次数:23  
标签:firstprivate 回顾 第九章 clause list private omp pragma OpenMP

第九章 通用核心回顾


  • 创建线程组:
    • shared(list)
    • private(list)
    • firstprivate(list)
    • default(none)
    • reduction(operator:list)
#pragma omp parallel [clause[,clause]...]
{
    //body of parallel
}
  • 共享工作循环构造:
    • private(list)
    • firstprivate(list)
    • nowait
    • reduction(operator:list)
    • schedule(kind[,chunk_size])
#pragma omp for [clause[,clause]...]
    //for-loop
  • single构造:
    • private(list)
    • firstprivate(list)
    • nowait
#pragma omp single [clause[,clause]...]
{
    //body of single
}
  • 组合式并行共享工作循环构造:
    • shared(list)
    • private(list)
    • firstprivate(list)
    • reduction(operator:list)
    • schedule(kind[,chunk_size])
#pragma omp parallel for [clause[,clause]...]
    //for-loop
  • 创建显式任务:
    • shared(list)
    • private(list)
    • firstprivate(list)
    • default(none)
#pragma omp task [clause[,clause]...]
{
    //body of task
}
  • 任务等待指令:
#pragma omp taskwait
  • 栅栏指令:
#pragma omp barrier
  • 临界区构造:
#pragma omp critical
{
    //body of critical
}
  • 常用的数据环境子句:

    • shared(list)
    • private(list)
    • firstprivate(list)
  • 归约子句:

    • reduction(operator:list)
运算符 初始值
+ 0
* 1
- 0
min 最大正数
max 最大负数
  • 设置默认并行区域请求线程数的环境变量:
OMP_NUM_THREADS list
  • 设置后继并行区域的默认请求线程数:
void omp_set_num_threads(int num_threads);
  • 返回最内围并行区域当前组的线程数:
int omp_get_num_threads(void);
  • 返回最内围并行区域当前组内调用线程的线程号:
int omp_get_thread_num(void);
  • 返回经过的墙钟时间:
double omp_get_wtime(void);

标签:firstprivate,回顾,第九章,clause,list,private,omp,pragma,OpenMP
From: https://www.cnblogs.com/mesonoxian/p/17985907

相关文章

  • 上周热点回顾(1.15-1.21)
    热点随笔:· 35岁程序员被裁员,这半年他的故事 (路泽宇)· 博客园淘宝店开张:园子的第一款简陋鼠标垫,是否是您值得拥有的周边 (博客园团队)· 如何使用.NET在2.2秒内处理10亿行数据(1brc挑战) (InCerry)· 前任开发在代码里下毒了,支付下单居然没加幂等 (程序员老猫)· Spring......
  • 13--selenium回顾
    一前期准备1.1概述selenium本身是一个自动化测试工具。它可以让python代码调用浏览器,并获取到浏览器中加载的各种资源。我们可以利用selenium提供的各项功能,帮助我们完成数据的抓取1.2学习目标掌握selenium发送请求,加载网页的方法掌握selenium简单的元素定位的方法......
  • 流式系统:第九章到第十章
    原文:StreamingSystems译者:飞龙协议:CCBY-NC-SA4.0第九章:流连接当我开始学习连接时,这是一个令人生畏的话题;LEFT、OUTER、SEMI、INNER、CROSS:连接的语言是富有表现力和广泛的。再加上流带来的时间维度,你会发现这似乎是一个具有挑战性的复杂话题。好消息是,连接实际上并不是一......
  • 回顾 2023,NebulaGraph 的这一年的变化
    一年又过去了,感谢你和NebulaGraph一起又走过一个春夏秋冬。在这365天里,我们一起见证了214个commit带来的NebulaGraph3个中版本的上线,它们分别是v3.4.0、v3.5.0和v3.6.0;除了内核经历了3个中版本的迭代之外,NebulaGraph在2023年也迎来一大波新周边工具,以及已有......
  • KubeSphere 开源社区 2023 年度回顾与致谢
    2023年结束了,让我们再一次一起回顾一下KubeSphere开源社区在过去一年的变化。更重要的是,本篇文章将会对2023年所有参与过KubeSphere社区贡献的成员致以最诚挚的感谢,快来看看有没有你!开源项目发展情况2023年,在国内外社区贡献者的参与下,KubeSphere及KubeSphere社区衍生......
  • [踩坑回顾]前端开发常用工具,从0开始
    考虑到工作中可能需要换电脑,重新配置生产环境,整理一下前端工作需要用到的工具。环境1.Node 项目管理工具1.Git2.SourceTree 编辑器1.VSCode2.notepad++ 浏览器1.Chrome2.Firefox 切图工具1. Snipaste2.Photoshop 调试工具1.Postman2.微信......
  • 使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第五章到第九章
    五、龙之境原文:inventwithpython.com/invent4thed/chapter5.html译者:飞龙协议:CCBY-NC-SA4.0本章中您将创建的游戏名为龙之境。玩家需要在两个洞穴之间做出选择,这两个洞穴分别藏有宝藏和一定的厄运。如何玩龙之境在这个游戏中,玩家身处一个充满龙的土地。这些龙都住在洞......
  • OpenMP学习 第四章 线程与OpenMP编程模型
    第四章线程与OpenMP编程模型编译器指令为了将顺序程序转换为并行程序,修改代码的最小干扰方式是通过编译器指令.在C/C++中,指令通过编译器表示#pragmaompparallel[clause[[,]clause]...]#pragmaompparallelprivate(x){//codeexecutedbyeachthread}大部分......
  • 简单再回顾一下前后端分离的历程,以及他的优点(有的内容是粘贴的别人的,我只用来自己学习
    我的大作业要用到python写后端代码,但是python写前端页面太够吧丑了,所以还是得学习学习Vue,在系统学习vue之前,我先回顾回顾之前学习过一小段时间的vue,以及了解一下前后端分离的好处在5年前,前后端还是几乎是不分离的,web开发中的代码尤其混杂,PHP中有JS,JSP中有JS,ASP中有JS,JS......
  • ByConity 社区回顾|ByConity 和开发者们一起展望未来,携手共进!
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群新年伊始,我们想在这里感谢一群ByConity社区的小伙伴们。正是因为有社区的开发者的支持,截止到2023年底,ByConityGitHub获得1409Star,595pullrequest,累计61位Contributor共建者参......