openmp提高算法效率(c++)

openmp提高算法效率(c++),第1张

class="superseo">openmp

并行计算框架,主要以cpu为主,gpu计算可以使用opencl
openmp可以提高代码的执行效率,对for循环的效率提升是10倍以上,对图像算法和深度学习效率的提升帮助很大

语法

#pragma omp target {} 指定设备,可以在gpu上运行
#pragma omp parallel for{} 加速for循环
#pragma omp parallel {} 并行语句,默认cpu的核数个线程
#pragma omp critical {} 互斥体,同时只有一个线程进入
#pragma omp barrier{} 所有线程到达后执行后面语句

#pragma omp master{} 只有主线程才会执行的代码
#pragma omp single{} 只会有一个线程执行的代码
#pragma omp sections{} 里面包含多个section标记,每个代码块被线程组内线程执行一次
#pragma omp atomic {} 单一算法的原子性
#pragma omp flush{} 寄存器变量同步
#pragma omp ordered{} 顺序执行算法,意义不大,性能不如单线程(涉及到多线程等待等很浪费资源)

for (int i = 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/726822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存