我想衡量每个线程花费在执行代码块上的时间。我想看看我的负载平衡策略是否在工作人员之间平均分配块。通常,我的代码如下所示:
#pragma omp parallel for schedule(dynamic,chunk) private(i)
for(i=0;i<n;i++){
//loop code here
}
Run Code Online (Sandbox Code Playgroud)
更新我在gcc中使用openmp 3.1
如何在运行时检查openmp时间表?
我使用并行循环和运行时计划来编译代码
#pragma omp parallel for schedule(runtime) collapse(2)
for(j=1;j>-2;j-=2){
for(i=0;i<n;i++){
//nested loop code here
}
}
Run Code Online (Sandbox Code Playgroud)
然后指定环境变量OMP_SCHEDULE=dynamic,50。
如何在运行时检查我的程序实际使用了OMP_SCHEDULE变量?
我在gcc 4.7.3中使用openmp 3.1