arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1906.08911cs.DCcs.CLcs.PFcs.PL
收藏

OpenMP中用户自定义调度的标准接口

Toward a Standard Interface for User-Defined Scheduling in OpenMP

Brookhaven National Laboratory(布鲁克海文国家实验室);Technische Universität Darmstadt(达姆施塔特工业大学);Intel Deutschland GmbH(英特尔德国有限公司);University of Basel(巴塞尔大学)

Vivek Kale, Christian Iwainsky, Michael Klemm, Jonas H. Muller Korndorfer, Florina M. Ciorba

摘要:

并行循环是OpenMP程序的重要组成部分。并行循环的有效调度可以提高程序的性能。当前的OpenMP规范仅提供了三种循环调度选项,这在某些情况下是不够的。鉴于大量其他可能的调度策略,将每个策略标准化是不可行的。一种更可行的方法是扩展OpenMP标准,允许用户定义循环调度策略。该方法将实现符合标准的特定应用程序调度。这项工作分析了用户定义的调度所需的主要组成部分,并提出了两个竞争的接口作为候选人的OpenMP标准。我们从概念上比较了这两个建议的接口相对于OpenMP的三个主机语言,即,C、C++和Fortran。这些接口为OpenMP社区提供服务,作为用户定义调度的讨论和原型实现的基础。

英文摘要:

Parallel loops are an important part of OpenMP programs. Efficient scheduling of parallel loops can improve performance of the programs. The current OpenMP specification only offers three options for loop scheduling, which are insufficient in certain instances. Given the large number of other possible scheduling strategies, it is infeasible to standardize each one. A more viable approach is to extend the OpenMP standard to allow for users to define loop scheduling strategies. The approach will enable standard-compliant application-specific scheduling. This work analyzes the principal components required by user-defined scheduling and proposes two competing interfaces as candidates for the OpenMP standard. We conceptually compare the two proposed interfaces with respect to the three host languages of OpenMP, i.e., C, C++, and Fortran. These interfaces serve the OpenMP community as a basis for discussion and prototype implementation for user-defined scheduling.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑