首页> 外文期刊>Parallel and Distributed Systems, IEEE Transactions on >An OpenMP Extension that Supports Thread-Level Speculation
【24h】

An OpenMP Extension that Supports Thread-Level Speculation

机译:支持线程级推测的OpenMP扩展

获取原文
获取原文并翻译 | 示例

摘要

OpenMP directives are the standard for shared-memory parallel programming. However, OpenMP does not guarantee the correctness of the parallel execution of a given loop if runtime data dependences arise. Consequently, many highly-parallel regions cannot be safely parallelized with OpenMP due to the possibility of a dependence violation. In this paper, we propose to augment OpenMP capabilities, by adding thread-level speculation (TLS) support. Our contribution is threefold. First, we have defined a new clause for variables inside parallel loops. This clause ensures that all accesses to these variables will be carried out according to sequential semantics. Second, we have created a new, software-based TLS runtime library to ensure correctness in the parallel execution of OpenMP loops that include variables. Third, we have developed a new GCC plugin, which seamlessly translates our OpenMP clause into calls to our TLS runtime engine. The result is the ATLaS C Compiler framework, which takes advantage of TLS techniques to expand OpenMP functionalities, and guarantees the sequential semantics of any parallelized loop.
机译:OpenMP指令是共享内存并行编程的标准。但是,如果出现运行时数据相关性,OpenMP不保证给定循环并行执行的正确性。因此,由于存在依赖冲突,许多高度平行的区域无法与OpenMP安全地并行化。在本文中,我们建议通过添加线程级推测(TLS)支持来增强OpenMP功能。我们的贡献是三倍。首先,我们为并行循环内的变量定义了一个新子句。本节确保对这些变量的所有访问将根据顺序语义进行。其次,我们创建了一个新的基于软件的TLS运行时库,以确保并行执行包含变量的OpenMP循环时的正确性。第三,我们开发了一个新的GCC插件,可以将我们的OpenMP子句无缝转换为对TLS运行时引擎的调用。结果就是ATLaS C编译器框架,该框架利用TLS技术来扩展OpenMP功能,并保证任何并行循环的顺序语义。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号