Performance 效率大于统一有效吗?

Performance 效率大于统一有效吗?,performance,openmp,Performance,Openmp,我正在英特尔i5-2410M(双核超线程)上运行一个带OpenMP指令的C代码 由于使用simd的pragma omp并行程序, 实现的加速比约为x1000,因此: #pragma omp并行共享(a、b、c)私有(i、j、k){ #用于simd崩溃的pragma omp(3) 对于(i=0;i您是否测量了加速比?向我们展示您的代码和运行时间。可以肯定地说,该处理器上从串行执行到并行执行的加速比不太可能达到1000。在测量并行化效率时,您应该排除simd的加速比。您测量的加速比是多线程运行时间之

我正在英特尔i5-2410M(双核超线程)上运行一个带OpenMP指令的C代码

由于使用simd的pragma omp并行程序, 实现的加速比约为x1000,因此:

#pragma omp并行共享(a、b、c)私有(i、j、k){
#用于simd崩溃的pragma omp(3)

对于(i=0;i您是否测量了加速比?向我们展示您的代码和运行时间。可以肯定地说,该处理器上从串行执行到并行执行的加速比不太可能达到1000。在测量并行化效率时,您应该排除simd的加速比。您测量的加速比是多线程运行时间之间的比率与单线程运行时间相比,所有其他方面都没有变化。因此,该公式仅用于测量并行效率。有没有计算“SIMD效率”的方法?在某些实际情况下,您可以看到效率大于1,例如,由于高速缓存而导致的超线性加速。在您的情况下,如果不显示您的代码以及您使用的编译选项,则无法确定(编译器和操作系统也可能很有趣).OpenMP的规则不太严格,例如浮点运算,因此在某些情况下,我可以想象使用OpenMP让编译器优化循环到单个迭代,因为规则比较宽松。正如我所说,没有代码是不可能知道的。嗨,我编辑了这个问题。我只想澄清一下,效率=加速/否的公式。of处理器仅用于计算并行效率。如果涉及SIMD,则它不再有效。是真的吗?