首页> 外文OA文献 >Is the schedule clause really necessary in OpenMP?
【2h】

Is the schedule clause really necessary in OpenMP?

机译:在Openmp中,schedule子句是否真的必要?

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Choosing the appropriate assignment of loop iterations to threads is one of the most important decisions that need to be taken when parallelizing Loops, the main source of parallelism in numerical applications. This is not an easy task, even for expert programmers, and it can potentially take a large amount of time. OpenMP offers the schedule clause, with a set of predefined iteration scheduling strategies, to specify how (and when) this assignment of iterations to threads is done. In some cases, the best schedule depends on architectural characteristics of the target architecture, data input, ... making the code less portable. Even worse, the best schedule can change along execution time depending on dynamic changes in the behavior of the loop or changes in the resources available in the system. Also, for certain types of imbalanced loops, the schedulers already proposed in the literature are not able to extract the maximum parallelism because they do not appropriately trade-off load balancing and data locality. This paper proposes a new scheduling strategy, that derives at run time the best scheduling policy for each parallel loop in the program, based on information gathered at runtime by the library itself.
机译:选择并行循环给线程分配适当的参数是并行并行处理循环时最重要的决定之一,循环是数值应用程序中并行性的主要来源。即使对于专业程序员来说,这也不是一件容易的事,并且可能会花费大量时间。 OpenMP提供了schedule子句以及一组预定义的迭代调度策略,以指定如何(以及何时)将迭代分配给线程。在某些情况下,最佳时间表取决于目标体系结构的体系结构特征,数据输入,从而使代码的可移植性降低。更糟糕的是,最佳时间表可能会随着执行时间的变化而变化,具体取决于循环行为的动态变化或系统中可用资源的变化。而且,对于某些类型的不平衡环路,文献中已经提出的调度程序无法提取最大并行度,因为它们没有适当权衡负载平衡和数据局部性。本文提出了一种新的调度策略,该算法根据库自身在运行时收集的信息,在运行时为程序中的每个并行循环得出最佳调度策略。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号