首页> 外文会议>24th ACM international conference on supercomputing 2010 >Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations
【24h】

Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations

机译:编译器和运行时支持,用于在异构并行配置上启用广义归约计算

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

摘要

A trend that has materialized, and has given rise to much attention, is of the increasingly heterogeneous computing platforms. Presently, it has become very common for a desktop or a notebook computer to come equipped with both a multi-core CPU and a GPU. Capitalizing on the maximum computational power of such architectures (i.e., by simultaneously exploiting both the multi-core CPU and the GPU) starting from a high-level API is a critical challenge. We believe that it would be highly desirable to support a simple way for programmers to realize the full potential of today's heterogeneous machines.rnThis paper describes a compiler and runtime framework that can map a class of applications, namely those characterized by generalized reductions, to a system with a multi-core CPU and GPU. Starting with simple C functions with added annotations, we automatically generate the middleware API code for the multi-core, as well as CUDA code to exploit the GPU simultaneously. The runtime system provides efficient schemes for dynamically partitioning the work between CPU cores and the GPU. Our experimental results from two applications, e.g., k-means clustering and Principal Component Analysis (PCA), show that, through effectively harnessing the heterogeneous architecture, we can achieve significantly higher performance compared to using only the GPU or the multi-core CPU. In k-means, the heterogeneous version with 8 CPU cores and a GPU achieved a speedup of about 32.09x relative to 1-thread CPU. When compared to the faster of CPU-only and GPU-only executions, we were able to achieve a performance gain of about 60%. In PCA, the heterogeneous version attained a speedup of 10.4x relative to the 1-thread CPU version. When compared to the faster of CPU-only and GPU-only versions, we achieved a performance gain of about 63.8%.
机译:越来越多样化的计算平台已经成为一种趋势,并且引起了人们的广泛关注。当前,台式机或笔记本计算机同时配备多核CPU和GPU已变得非常普遍。从高级API开始利用此类架构的最大计算能力(即,通过同时利用多核CPU和GPU)是一项严峻的挑战。我们认为,非常需要为程序员提供一种简单的方法,以实现当今异构机器的全部潜能。本文描述了一种编译器和运行时框架,该框架可以将一类应用程序(即以广义归约为特征的应用程序)映射到一个应用程序。带有多核CPU和GPU的系统。从带有添加注释的简单C函数开始,我们会自动生成用于多核的中间件API代码以及CUDA代码以同时利用GPU。运行时系统提供了有效的方案,用于在CPU内核和GPU之间动态划分工作。我们从k-means聚类和主成分分析(PCA)这两个应用程序获得的实验结果表明,与仅使用GPU或多核CPU相比,通过有效利用异构体系结构,我们可以获得显着更高的性能。在k均值中,具有8个CPU内核和GPU的异构版本相对于1线程CPU实现了约32.09倍的加速。与仅执行CPU和仅执行GPU的速度相比,我们能够实现约60%的性能提升。在PCA中,异构版本相对于1线程CPU版本达到了10.4倍的加速。与仅使用CPU和仅使用GPU的版本相比,我们获得了约63.8%的性能提升。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号