OpenMP基础东西
OpenMP基础东西
省委书记沙瑞金 发表于5年前
OpenMP基础东西
  • 发表于 5年前
  • 阅读 180
  • 收藏 4
  • 点赞 0
  • 评论 0
新睿云服务器60天免费使用,快来体验!>>>   
经历了一段时间的对OpenMP的研究之后,总结了OpenMP的一些基本语,和大家共享一下,相互学习
parallel for也是用在一个循环之前表示for循环的代码将被多个线程并行执行
sections 用在可能会被并行执行的代码段之前 parallel sections critical 用在一段代码临界区之前 single用在一段只被单个线程执行的代码之前,表示后面的代码段将被单线程执行 flush用来保证线程的缓存数据和实际内存保持一致,即各个线程看到的共享变量是一致的 barrier用于并行去内代码的线程同步所有线程同步,所有线程执行到barrier是要停止,直到所有线程都执行到barrier是才往下执行 atomic 用于指定一块内存区域被自动更新 master 用于指定一段代码块有主线程执行 ordered用于指定并行区域的循环按顺序执行 thread private 用于指定一个变量是线程私有的 OpenMP的字句有以下一些 private
firstprivate
lastprivate
reduction
nowait忽略指定中暗含的等待
num_threads指定线程的个数
schedule指定如何调度for循环迭代
shared指定一个或多个变量为多个线程之间的共享变量
ordered用来指定for循环的执行要按顺序执行
copyprivate用于single指令中的指定变量为多个线程共享变量
copyin用来指定一个threadprivate的变量的值要用于主线程的值进行初始化
default用来指定并性处理区域内额变量的使用方法是shared的
omp_get_num_procs:返回多处理机的处理器个数
omp_get_num_threads返回并行区域的线程个数
omp_get_thread_num返回线程号
omp_set_num_threads设置并行执行代码的线程个数
omp_init_lock初始化一个简单锁
omp_set_lock上锁操作
omp_unset_lock解锁操作
omp_destroy_lock关闭一个锁
OpenMP的环境变量主要有四个
OMP_NUM_THREADS设置可用的最大线程数量
OMP_SCHEDULE设置调度类型一调度块大小
OMP_DYNAMIC用于设置是否允许动态改变线程数
OMP_NESTED设置室友允许嵌套并行
   
标签: OpenMP基本语法
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 23
博文 43
码字总数 47581
×
省委书记沙瑞金
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: