标签: openmp critical-section reduction
所以我的问题是它为什么会发生,我怎样才能使用其他关键和自动来获得相同的性能。
答案 0 :(得分:0)
当我们使用reduction子句时,编译器会创建reduction(operator:list)中指定的变量的私有副本,并在所有线程执行结束时,reduction中指定的运算符将每个私有副本应用于一个全局副本。因此,线程不需要等待获取锁,以便它们可以写入变量,与使用每个线程等待获取锁的atomic或critical相比,这提供了更好的性能
reduction
reduction(operator:list)
atomic
critical