首页> 外文会议>2017 IEEE 24th International Conference on High Performance Computing >Efficient Fork-Join on GPUs Through Warp Specialization
【24h】

Efficient Fork-Join on GPUs Through Warp Specialization

机译:通过Warp专业化在GPU上进行高效的前叉连接

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

摘要

Graphics Processing Units (GPUs) are increasingly used to accelerate portions of general-purpose applications. Higher level language extensions have been proposed to help non-experts bridge the gap between a host and the GPU's threading model. Recent updates to the OpenMP standard allow a user to parallelize code on a GPU using the well known fork-join programming model for CPUs. Mapping this model to the architecturally visible threading model of typical GPUs has been challenging. In this work we propose a novel approach using the technique of Warp Specialization. We show how to specialize one warp (a unit of 32 GPU threads) to handle sequential code on a GPU. When this master warp reaches a user-specified parallel region, it awakens unused GPU warps to collectively execute the parallel code. Based on this method, we have implemented a Clang-based, OpenMP 4.5 compliant, open source compiler for GPUs. Our work achieves a 3.6x (and up to 32x) performance improvement over a baseline that does not exploit fork-join parallelism on an NVIDIA k40m GPU across a set of 25 kernels. Compared to state-of-the-art compilers (Clang-ykt, GCC-OpenMP, GCC-OpenACC) our work is 2.1 - 7.6x faster. Our proposed technique is simpler to implement, robust, and performant.
机译:图形处理单元(GPU)越来越多地用于加速通用应用程序的某些部分。已提出更高级别的语言扩展,以帮助非专家弥合主机与GPU的线程模型之间的鸿沟。 OpenMP标准的最新更新允许用户使用众所周知的CPU叉联接编程模型在GPU上并行化代码。将此模型映射到典型GPU的体系结构可见的线程模型一直具有挑战性。在这项工作中,我们提出了一种使用经纱专业化技术的新颖方法。我们展示了如何专门处理一个扭曲(32个GPU线程的单位)来处理GPU上的顺序代码。当此主扭曲到达用户指定的并行区域时,它将唤醒未使用的GPU扭曲以共同执行并行代码。基于此方法,我们为GPU实现了基于Clang,OpenMP 4.5兼容的开源编译器。我们的工作相对于不使用跨25个内核的NVIDIA k40m GPU上的fork-join并行性的基准,性能提高了3.6倍(最高可达32倍)。与最新的编译器(Clang-ykt,GCC-OpenMP,GCC-OpenACC)相比,我们的工作速度提高了2.1-7.6倍。我们提出的技术更易于实现,健壮和高效。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号