美文网首页
OpenMP Directives

OpenMP Directives

作者: Enzooo | 来源:发表于2019-11-19 07:55 被阅读0次

    1. parallel

    2. OpenMP Flush

    3. num_threads

    4. omp_set_dynamic

    5. do

    6. nowait

    7. collapse

    8. linear

    9. parallel sections

    10. firstprivate

    11. single


    4. omp_set_dynamic

    > omp_set_dynamic(1)   启用动态调整可用的并行区域执行的线程数

    - 用户指定的线程数是最大线程数  omp_get_max_threads

    - 实际启用线城市是由运行时环境以最佳方式使用系统资源(也就是等于核数)omp_get_num_threads

    > omp_set_dynamic(0)  禁用动态调整

    omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合

    Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。


    9. #pragma omp parallel sections

    > 三个section :XAXIS, YAXIS, and ZAXIS 可以被并行执行

    > 第一个section 指令是可选的

    > 所有的 section 指令都需要出现在 parallel sections construct 中

    parallel sections

    #pragma omp critical

    The critical construct is a directive that contains a structured block. The construct allows only  a single thread at a time to execute the structured block (region). Multiple critical regions may exist in a parallel region, and may act cooperatively (only one thread at a time in all critical regions), or separately (only one thread at a time in each critical regions when a unique name is supplied on each critical construct). An optional (lock) hint clause may be specified on a named critical construct to provide the OpenMP runtime guidance in selection a locking mechanism.


    11. #pragma omp single [data clauses]

    > 只有一个线程执行block

    > 这个线程不必是主线程,可以是任意的进程

    > master子句区域后有隐式的 barrier 

    Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。

    Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。

    Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。

    Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。Microsoft 专用

    当前支持omp_get_dynamic和omp_set_dynamic如下所示:

    输入的参数omp_set_dynamic不会影响线程处理策略并不会更改线程数。 omp_get_num_threads 始终返回用户定义的数字,如果设置的或默认线程数。 在当前的 Microsoft 实现中,omp_set_dynamic(0)关闭动态线程处理,以便可以针对以下并行区域重用现有的线程集合。 omp_set_dynamic(1) 打开动态线程处理,通过放弃现有的线程集合并创建一组新的即将推出的并行区域。 新组中的线程数等同于旧的组,并为基础的返回值omp_get_num_threads。 因此,为了获得最佳性能,使用omp_set_dynamic(0)重复使用现有的线程。

    相关文章

      网友评论

          本文标题:OpenMP Directives

          本文链接:https://www.haomeiwen.com/subject/caxmictx.html