我正在尝试运行伴随讲座的Mattson OMP练习中包含的pi计算程序。在3个版本中,pi_spmd_simple,pi_spmd_final和pi_loop,前两个版本在讲座中提到,但第三个,使用for pragma with reduction,使用两个或多个线程比使用一个更慢。有没有人看到类似(错误)的行为?有什么解释吗? 我的测试是在运行Knoppix 7.4.2和gcc 4.9.1的Intel E6500双核2.93GHz CPU上运行的。我们在AMD 4 Core Phenom处理器上观察到了类似的行为。我甚至在更简单的带有for循环的程序中也观察到类似的问题。 该教程位于OpenMP Tutorial