OpenMP命令与子句
来源:互联网 发布:windows7乱码修复软件 编辑:程序博客网 时间:2024/04/27 22:33
10、利用flush语句定义存储器围栅:#pragma omp flush 这个语句使得它们被在计算机的存储器中更新,是一个开销昂贵的操作,因为保证一致性需要某些缓存行、所有的系统缓冲区和寄存器被写到存储器中。存在一种开销较低的版本,列举即将被flush的变量:#pragma omp flush (flag)
parallel,用在一个代码段之前,表示这段代码将被多个线程并行执行
for,用于for循环之前,将循环分配到多个线程中并行执行,必须保证每次循环之间无相关性。
parallel for, parallel 和 for语句的结合,也是用在一个for循环之前,表示for循环的代码将被多个线程并行执行。
sections,用在可能会被并行执行的代码段之前
parallel sections,parallel和sections两个语句的结合
critical,用在一段代码临界区之前
single,用在一段只被单个线程执行的代码段之前,表示后面的代码段将被单线程执行。flush,
barrier,用于并行区内代码的线程同步,所有线程执行到barrier时要停止,直到所有线程都执行到barrier时才继续往下执行。
atomic,用于指定一块内存区域被制动更新
master,用于指定一段代码块由主线程执行
ordered, 用于指定并行区域的循环按顺序执行threadprivate, 用于指定一个变量(全局变量或者本地静态变量)是线程私有的。
OpenMP除上述指令外,还有一些库函数,下面列出几个常用的库函数:
omp_init_lock, 初始化一个简单锁
omp_set_lock, 上锁操作
omp_unset_lock, 解锁操作,要和omp_set_lock函数配对使用。
omp_destroy_lock, omp_init_lock函数的配对操作函数,关闭一个锁
OpenMP的子句有以下一些
private, 指定每个线程都有它自己的变量私有副本.
firstprivate,指定每个线程都有它自己的变量私有副本,并且变量要被继承主线程中的初值.
lastprivate,主要是用来指定将线程中的私有变量的值在并行处理结束后复制回主线程中的对应变量.
reduce,用来指定一个或多个变量是私有的,并且在并行处理结束后这些变量要执行指定的运算.
nowait,忽略指定中暗含的等待
num_threads,指定线程的个数
schedule,指定如何调度for循环迭代
shared,指定一个或多个变量为多个线程间的共享变量
ordered,用来指定for循环的执行要按顺序执行
copyprivate,用于single指令中的指定变量为多个线程的共享变量
copyin,用来指定一个threadprivate的变量的值要用主线程的值进行初始化.
default,用来指定并行处理区域内的变量的使用方式,缺省是share
- OpenMP命令与子句
- OpenMP中的数据处理子句
- OpenMP中的数据处理子句
- OpenMP 参考(子句)
- OpenMP 参考(子句)
- OpenMP: 数据处理子句
- OpenMP中的数据处理子句
- OpenMP中的数据处理子句
- OpenMP中的数据处理子句
- Openmp中的数据处理子句
- openmp各种private子句
- OpenMP中数据属性相关子句详解(3): reduction子句
- OpenMP中数据属性相关子句详解(3): reduction子句
- OpenMP中数据属性相关子句详解(3): reduction子句
- OpenMP并行构造的schedule子句详解
- OpenMP并行构造的schedule子句详解
- OpenMP并行构造的schedule子句详解
- OpenMP并行构造的schedule子句详解
- java形式参数和实际参数
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- 栈的类模板及其应用
- 辛星教程网初步建设,目前只有一个首页
- js随记
- OpenMP命令与子句
- redhat 下基本命令和php、ftp服务
- 如何用Maven创建web项目(具体步骤)
- 线程管理Ace_Thread_Manager 与boost_thread对比学习
- C++ 标准IO库 iostream,fstream,sstream
- STL中的sort函数
- Video---HTML5视频video
- 解决Cannot change version of project facet Dynamic web module to 3.0
- 3种SAT数学解题方法介绍