OpenMP程序运行时方差过高:为何运行时间波动极大?
用OpenMP并行计算圆周率的实践记录
最近我跟着Tim Mattson的OpenMP课程,正在啃并行编程的各种实现方法。为了练手,我特意做了个小测试——观察一个通过**3×10⁸步计算圆周率(PI)**的并行程序的运行时间表现,下面是我用到的部分代码:
#include <omp.h> #include <stdio.h> // 注:原代码里的"stadio"是笔误,修正为stdio static long num_steps = 300000000; double step; #define PAD 8 // 我也尝试过把这个值设为50 #define NUM_THREADS 4 int main() { int i, nthreads; double pi, sum[NUM_THREADS][PAD]; double ts, te; ts = omp_get... // 这里是获取程序开始时间的代码片段,原内容未写完
内容的提问来源于stack exchange,提问作者Shakil Ahamed
相关产品推荐
相关产品推荐

