...
首页> 外文期刊>Concurrency and computation: practice and experience >Thrust2D: A new design abstraction framework for structuredrngrid class of algorithms
【24h】

Thrust2D: A new design abstraction framework for structuredrngrid class of algorithms

机译:Thrust2D:针对结构化算法类的新设计抽象框架

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

摘要

An important goal of structured parallel programming has been to provide a design frameworkrnthat balancesbetweentheextentof abstractionbuiltover thehardwareandtheamountof controlrngiven to the programmer to leverage the hardware resource features. Towards this goal, NVIDIArnhas released an open-source design framework called Thrust based on C++ STL,where the developersrncan express the functionality in STL style, without having to know the architectural detailsrnof the underlying parallel infrastructure.While the framework is generic and portable, it does notrnsupport the right abstraction for two-dimensional data, which is heavily used in most of the popularrnparallel algorithms. In this paper, we proposed Thrust2D, an extension of Thrust to supportrnthe abstraction for two-dimensional data, targeted towards structured grid class of applications.rnWe took several structured grid examples from Rodinia benchmark, OpenCV framework, andrnNVIDIA samples and rewrote them using Thrust2D.We demonstrated that, in some cases, we getrnnearly 80% reduction in code complexity, and for 12 out of 17 applications we have tested, thernkernel performance of Thrust2D versions arewellwithin85%of the nativeCUDAversions.Whenrnwe consider the total execution time, 14 out of 17 Thrust2D versions performance are withinrn85% of the native CUDA versions. In some cases, the performance of the Thrust2D versions hasrnoutperformed the native versions.
机译:结构化并行编程的一个重要目标是提供一种设计框架,该框架可以在硬件上构建的抽象范围与程序员可以利用硬件资源功能的控制量之间取得平衡。为了实现这一目标,NVIDIA发布了一个基于C ++ STL的开源设计框架Thrust,开发人员可以在不了解底层并行基础架构的体系结构细节的情况下,以STL样式表示功能,而该框架是通用且可移植的。不能为二维数据提供正确的抽象,二维数据在大多数流行的并行算法中都大量使用。在本文中,我们提出了Thrust2D,这是Thrust的扩展,以支持二维数据的抽象,针对结构化网格应用程序类别.rn我们从Rodinia基准,OpenCV框架和NVIDIA示例中选取了几个结构化网格示例,并使用Thrust2D对其进行了重写。我们证明,在某些情况下,我们将代码复杂性降低了近80%,并且在我们测试的17个应用程序中,有12个应用程序的Thrust2D版本的内核性能在本机CUDA版本的85%之内很好。当我们考虑总执行时间时,在17个应用程序中有14个Thrust2D版本的性能是本机CUDA版本的85%以内。在某些情况下,Thrust2D版本的性能无法胜过本机版本。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号