我想了解的确切差异#pragma omp critical和#pragma omp singleOpenMP中:
微软的定义是:
所以这意味着在两者中,之后的代码的确切部分将仅由一个线程执行而其他线程将不会进入该部分,例如,如果我们打印某些内容,我们将在屏幕上看到一次结果,对吧?
差异怎么样?它看起来很重要,可以处理执行时间,但不是单一的!但是我没有看到练习中的任何差异!这是否意味着其他线程(不进入该部分)的某种等待或同步被认为是关键的,但没有什么能够将其他线程保持在单一状态?它如何改变实践中的结果?
我很感激,如果有人能够通过一个例子向我澄清这一点.谢谢!
主处理器和协处理器有什么区别?特别是Xeon Phi协处理器和Xeon Phi主机处理器?
我在这些机器上有一些性能结果(正在运行扩散方程的并行OpenMP代码),这表明当相同数量的线程工作时,主机处理器的工作速度要快得多.我想知道不同之处并将它们与我的结果联系起来.