[英]Openmp atomic and critical
我是openmp的新手,正在为一个学校项目玩一些东西。 我试图通过使用原子而不是关键来使我的程序运行得更快。 我在其中一个for循环的末尾有这段代码。
if(prod > final_prod)
{
#pragma omp atomic
final_prod = prod;
}
虽然当我这样做时,我得到下面的错误(如果我使用批评程序编译好)
error: invalid form of ‘#pragma omp atomic’ before ‘;’ token
final_prod = prod;
^
从我到目前为止学到的东西,你可以使用原子而不是关键,通常可以在一些机器指令中执行。 这有用吗? 使用原子与关键之间的主要区别是什么?
您只能使用#pragma omp atomic的以下形式的运算符:
原子指令通常更快,但语法非常严格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.