Accelerator: Using data parallelism to program GPUs for general-purpose uses

被引:49
|
作者
Tarditi, David
Puri, Sidd
Oglesby, Jose
机构
关键词
measurement; performance; experimentation; languages; graphics processing units; data parallelism; just-in-time compilation;
D O I
10.1145/1168918.1168898
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
GPUs are difficult to program for general-purpose uses. Programmers can either learn graphics APIs and convert their applications to use graphics pipeline operations or they can use stream programming abstractions of GPUs. We describe Accelerator, a system that uses data parallelism to program GPUs for general-purpose uses instead. Programmers use a conventional imperative programming language and a library that provides only high-level data-parallel operations. No aspects of GPUs are exposed to programmers. The library implementation compiles the data-parallel operations on the fly to optimized GPU pixel shader code and API calls. We describe the compilation techniques used to do this. We evaluate the effectiveness of using data parallelism to program GPUs by providing results for a set of compute-intensive benchmarks. We compare the performance of Accelerator versions of the benchmarks against hand-written pixel shaders. The speeds of the Accelerator versions are typically within 50% of the speeds of hand-written pixel shader code. Some benchmarks significantly outperform C versions on a CPU: they are up to 18 times faster than C code running on a CPU.
引用
收藏
页码:325 / 335
页数:11
相关论文
共 50 条
  • [1] A GENERAL-PURPOSE DATA-ENTRY PROGRAM
    JACKY, JP
    KALET, IJ
    [J]. COMMUNICATIONS OF THE ACM, 1983, 26 (06) : 409 - 417
  • [2] Compiler support for general-purpose computation on GPUs
    Yu-Te Lin
    Peng-Sheng Chen
    [J]. The Journal of Supercomputing, 2009, 50 : 78 - 97
  • [3] Compiler support for general-purpose computation on GPUs
    Lin, Yu-Te
    Chen, Peng-Sheng
    [J]. JOURNAL OF SUPERCOMPUTING, 2009, 50 (01): : 78 - 97
  • [4] Performance Predictions for General-Purpose Computation on GPUs
    Liu, Weiguo
    Mueller-Wittig, Wolfgang
    Schmidt, Bertil
    [J]. 2007 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPP), 2007, : 416 - +
  • [5] General-Purpose Computing with Soft GPUs on FPGAs
    Al Kadi, Muhammed
    Janssen, Benedikt
    Yudi, Jones
    Huebner, Michael
    [J]. ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2018, 11 (01)
  • [6] Signal processing and general-purpose computing on GPUs
    McCool, Michael D.
    [J]. IEEE SIGNAL PROCESSING MAGAZINE, 2007, 24 (03) : 109 - 114
  • [7] A GENERAL-PURPOSE PROGRAM FOR MULTIVARIATE DATA-ANALYSIS
    KVALHEIM, OM
    KARSTANG, TV
    [J]. CHEMOMETRICS AND INTELLIGENT LABORATORY SYSTEMS, 1987, 2 (1-3) : 235 - 237
  • [8] General-purpose wavelet program
    不详
    [J]. JOURNAL OF THERMAL SPRAY TECHNOLOGY, 2001, 10 (03) : 430 - 431
  • [9] Application of general-purpose computation on GPUs to geotechnical engineering
    Liu Ming-gui
    Liu Shao-bo
    Zhang Guo-hua
    [J]. ROCK AND SOIL MECHANICS, 2010, 31 (09) : 3019 - 3024
  • [10] DATA VISUALIZATION USING A GENERAL-PURPOSE RENDERER
    DOI, A
    AONO, M
    URANO, N
    SUGIMOTO, K
    [J]. IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1991, 35 (1-2) : 45 - 58