现在对OpenMP有了一定的感官认识。今天,又看了一下OpenMP的Execution Model,对Execution Model 有了更深入的认识。
我的工作站是4核的,如果不运行OpenMP程序,只会有一个核运行程序,在Windows Task Manager中CPU的使用百分比应该会增加25%左右。
测试代码:
void OneCPU()
{
long i = 0;
while(1)
{
i++;
}
}
运行后,发现CPU使用情况果然增加了25%左右。
测试代码:
void AllCPU()
{
long i = 0;
#pragma omp parallel shared(i)
{
while(1)
{
i++;
}
}
}
运行后,发现CPU使用情况是100%,可见此时4个核全部在运行。