今天写OpenMP的程序,遇到很让人恼火的问题,三个#pragma omp paralle没有问题,
再有一个#pragma omp paralle,计算结果就错误了。
修改调试了一个晚上,快要崩溃了的时候,突然想起来#pragma omp paralle中
嵌套了#pragma omp parallel for,会不会是这个问题呢,马上修改为#pragma omp for,
果然,结果出来了,写程序来不得一点马虎啊。
总结,#pragma omp parallel for有时候是可以嵌套到#pragma omp paralle中,但建议
不要这么做,你会得到一些莫名其妙的错误正确形式应该是:
#pragma omp parallel
{
#pragma omp for
for()
{
......
}
}