首页> 外文学位 >CUDA-CHiLL: A programming language interface for GPGPU optimizations and code generation.
【24h】

CUDA-CHiLL: A programming language interface for GPGPU optimizations and code generation.

机译:CUDA-CHiLL:一种用于GPGPU优化和代码生成的编程语言界面。

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

摘要

The advent of the era of cheap and pervasive many-core and multicore parallel systems has highlighted the disparity of the performance achieved between novice and expert developers targeting parallel architectures. This disparity is most notifiable with software for running general purpose computations on grachics processing units (GPGPU programs). Current methods for implementing GPGPU programs require an expert level understanding of the memory hierarchy and execution model of the hardware to reach peak performance. Even for experts, rewriting a program to exploit these hardware features can be tedious and error prone. Compilers and their ability to make code transformations can assist in the implementation of GPGPU programs, handling many of the target specific details.;This thesis presents CUDA-CHiLL, a source to source compiler transformation and code generation framework for the parallelization and optimization of computations expressed in sequential loop nests for running on many-core GPUs. This system uniquely uses a complete scripting language to describe composable compiler transformations that can be written, shared and reused by nonexpert application and library developers.;CUDA-CHiLL is built on the polyhedral program transformation and code generation framework CHiLL, which is capable of robust composition of transformations while preserving the correctness of the program at each step. Through its use of powerful abstractions and a scripting interface, CUDA-CHiLL allows for a developer to focus on optimization strategies and ignore the error prone details and low level constructs of GPGPU programming. The high level framework can be used inside an orthogonal auto-tuning system that can quickly evaluate the space of possible implementations. Although specific to CUDA at the moment, many of the abstractions would hold for any GPGPU framework, particularly OpenCL.;The contributions of this thesis include a programming language approach to providing transformation abstraction and composition, a unifying framework for general and GPU specific transformations, and demonstration of the framework on standard benchmarks that show it capable of matching or outperforming hand-tuned GPU kernels.
机译:廉价且普及的多核和多核并行系统时代的到来凸显了针对并行体系结构的新手和专家开发人员之间所获得的性能差异。这种差异最明显的原因是在grachics处理单元(GPGPU程序)上运行通用计算的软件。当前用于实现GPGPU程序的方法需要对存储器的层次结构和硬件的执行模型有专家级的了解,才能达到最佳性能。即使对于专家而言,重写程序以利用这些硬件功能也可能很乏味且容易出错。编译器及其进行代码转换的能力可以协助GPGPU程序的实现,处理许多特定于目标的细节。本论文介绍了CUDA-CHiLL,这是一种从源到源的编译器转换和代码生成框架,用于计算的并行化和优化。以顺序循环嵌套表示,可在多核GPU上运行。该系统唯一地使用完整的脚本语言来描述可组合的编译器转换,这些转换可以由非专家应用程序和库开发人员编写,共享和重用。CUDA-CHiLL建立在多面程序转换和代码生成框架CHiLL之上,具有强大的功能转换的组成,同时在每个步骤中保留程序的正确性。通过使用强大的抽象和脚本接口,CUDA-CHiLL使开发人员可以专注于优化策略,而忽略容易出错的细节和GPGPU编程的底层构造。高层框架可以在正交自动调整系统内部使用,该系统可以快速评估可能的实现方式的空间。尽管目前特定于CUDA,但许多抽象都适用于任何GPGPU框架,尤其是OpenCL。本文的贡献包括提供转换抽象和组合的编程语言方法,通用转换和GPU特定转换的统一框架,并在标准基准测试中对该框架进行了演示,表明该框架能够匹配或优于手动调整的GPU内核。

著录项

  • 作者

    Rudy, Gabe.;

  • 作者单位

    The University of Utah.;

  • 授予单位 The University of Utah.;
  • 学科 Computer Science.
  • 学位 M.S.
  • 年度 2010
  • 页码 67 p.
  • 总页数 67
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号