首页 > 其他 > 详细

OMP笔记(1)

时间:2014-06-01 13:05:33      阅读:404      评论:0      收藏:0      [点我收藏+]

Difference between static and dynamic schedule in openMP in C


Using OMP_SCHEDULE with #pragma omp for parallel schedule(runtime)

C OpenMP - Enforce default chunk size

OpenMP: for schedule(vip)

I think you have difficulty with the English meaning of schedule. It refers to the way the work, i.e. the individual values of the loop variable, is spread across the threads. static means that it is decided at the beginning which thread will do which values, where as dynamic means that each thread will work on a chunk of values and then take the next chunk which hasn‘t been worked on by any thread. The latter allows better balancing (in case the work varies between different values for the loop variable), but requires some communication overhead. –  Walter Jun 1 ‘12 at 12:54


P.S. If local variables are automatically private, what is the point of using private clause?

The point is presumably that in earlier versions of C you needed to declare all variables at the beginning of the function, and this is still the prevailing style.

That is, code such as this:

#pragma omp parallel
{
    int x;
}

is the preferred way in C++. But in some versions of C you cannot use this code, you need to use the private clause.

https://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/optaps/common/optaps_par_mpex.htm

OMP笔记(1),布布扣,bubuko.com

OMP笔记(1)

原文:http://blog.csdn.net/mathgeophysics/article/details/27955621

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!