使用for,if和else进行适当的openmp实现

时间:2012-02-22 15:37:51

标签: c++ c fortran openmp

我的问题是关于下面的伪代码的情况,因为我的情况是可以为整个代码使用一个并行区域,或者我应该因为if和else语句而单独划分并行区域

for loop
    {
        //some code , possible reduction here
    }

    if something
    {  
        for (loop 1)
        { 
            //some code2, another exasperated reduction here                         
        }
    }
    else 
    {
        for (loop 2)
        { 
           //some code 3 , special function here
        }
    }

  if (another case)
  {
    for (for loop 3)
    {
        // some code 4, another special function
    }
  }
}

1 个答案:

答案 0 :(得分:1)

是的,您可以为整个代码使用一个并行区域。只需确保考虑所有可能的执行分支中发生的所有减少。