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 条
  • [41] A GENERAL-PURPOSE DATA ACQUISITION-SYSTEM
    GEHMAN, LP
    WORTMAN, RS
    BROWN, BD
    SHACKELFORD, JF
    [J]. AMERICAN CERAMIC SOCIETY BULLETIN, 1984, 63 (08): : 1012 - 1012
  • [42] ENDAT - A GENERAL-PURPOSE DATA ACQUISITION TRIGGER
    FINOCCHIARO, P
    ANZALONE, A
    MAIOLINO, C
    [J]. NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH SECTION A-ACCELERATORS SPECTROMETERS DETECTORS AND ASSOCIATED EQUIPMENT, 1988, 271 (03): : 563 - 566
  • [43] GENERAL-PURPOSE UTILITY FOR DATA ACQUISITION AND CONTROL
    MOORE, CF
    [J]. INSTRUMENTS & CONTROL SYSTEMS, 1972, 45 (07): : 15 - &
  • [44] GENERAL-PURPOSE PROGRAM FOR PROBLEM-SOLVING EXPERIMENTATION
    JEFFERIES, R
    KARAT, J
    [J]. BEHAVIOR RESEARCH METHODS & INSTRUMENTATION, 1979, 11 (02): : 205 - 207
  • [45] UTILIZING LOW-LEVEL PARALLELISM IN GENERAL-PURPOSE CODE - THE HARP PROJECT
    ADAMS, RG
    GRAY, SM
    STEVEN, GB
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1990, 29 (03): : 137 - 149
  • [46] NEWSUMT-A - A GENERAL-PURPOSE PROGRAM FOR CONSTRAINED OPTIMIZATION USING CONSTRAINT APPROXIMATIONS
    GRANDHI, RV
    THAREJA, R
    HAFTKA, RT
    [J]. JOURNAL OF MECHANISMS TRANSMISSIONS AND AUTOMATION IN DESIGN-TRANSACTIONS OF THE ASME, 1985, 107 : 94 - 99
  • [47] FFT on a Heterogeneous System with a General-Purpose Map-Scan Accelerator
    Antonescu, Mihai
    Malit, Mihaela
    [J]. ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY, 2024, 27 (02): : 123 - 136
  • [48] Development of asynchronous data processing system by using general-purpose microprocessors
    Baums, A.
    Greitans, M.
    Grunde, U.
    [J]. ELEKTRONIKA IR ELEKTROTECHNIKA, 2007, (06) : 21 - 24
  • [49] NEW GENERAL-PURPOSE INTERFACING MODULES FOR AN ACCELERATOR CONTROL-SYSTEM
    SHIMIZU, K
    [J]. NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH SECTION A-ACCELERATORS SPECTROMETERS DETECTORS AND ASSOCIATED EQUIPMENT, 1985, 236 (01): : 109 - 116
  • [50] Tanji: a General-purpose Neural Network Accelerator with Unified Crossbar Architecture
    Zhu, Haozhe
    Wang, Yu
    Shi, C. -J. Richard
    [J]. IEEE DESIGN & TEST, 2020, 37 (01) : 56 - 63