首页> 外文期刊>International journal of parallel programming >Programming GPGPU Graph Applications with Linear Algebra Building Blocks
【24h】

Programming GPGPU Graph Applications with Linear Algebra Building Blocks

机译:使用线性代数构建块编程GPGPU Graph应用程序

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

摘要

Graph applications are common in scientific and enterprise computing. Recent research used graphics processing units (GPUs) to accelerate graph workloads. These applications tend to present characteristics that are challenging for SIMD execution. To achieve high performance, prior work studied individual graph problems, and designed device-specific algorithms and optimizations to achieve high performance. However, programmers have to expend significant manual effort, packing data and computation to make such solutions GPU-friendly. This usually is too complex for regular programmers, and the resultant implementations may not be portable and perform well across platforms. To address these concerns, we propose and implement a library of software building blocks with application examples, BelRed which allows programmers to build graph applications with ease. BelRed currently is built on top of the OpenCL™ framework and optimized for GPUs. It consists of fundamental linear-algebra building blocks necessary for graph processing. Developers can program graph algorithms with a set of key primitives. This paper introduces the API and presents several case studies on how to use the library for a variety of representative graph problems. We evaluate application performance on an AMD GPU and investigate optimization techniques to improve performance. We show that this framework is useful to provide satisfactory GPU acceleration of various graph applications and help reduce programming efforts significantly.
机译:图形应用程序在科学和企业计算中很常见。最近的研究使用图形处理单元(GPU)来加速图形工作量。这些应用倾向于呈现出对SIMD执行具有挑战性的特征。为了获得高性能,以前的工作研究了单个图形问题,并设计了特定于设备的算法和优化以实现高性能。但是,程序员必须花费大量的人工,打包数据和计算才能使此类解决方案对GPU友好。对于常规程序员而言,这通常过于复杂,并且最终的实现可能无法移植,并且无法在各种平台上正常运行。为了解决这些问题,我们提出并实现了一个带有应用程序示例的软件构建块库BelRed,该库使程序员可以轻松地构建图形应用程序。 BelRed当前基于OpenCL™框架构建,并针对GPU进行了优化。它由图形处理所需的基本线性代数构建块组成。开发人员可以使用一组关键原语对图形算法进行编程。本文介绍了API,并针对如何使用该库解决各种代表性图形问题提供了一些案例研究。我们评估AMD GPU上的应用程序性能,并研究优化技术以提高性能。我们证明了该框架可用于为各种图形应用程序提供令人满意的GPU加速,并有助于显着减少编程工作。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号