Contract-Based General-Purpose GPU Programming

被引:0
|
作者
Kolesnichenko, Alexey [1 ]
Poskitt, Christopher M. [1 ]
Nanz, Sebastian [1 ]
Meyer, Bertrand [1 ,2 ,3 ]
机构
[1] ETH Ziirich, Dept Comp Sci, Zurich, Switzerland
[2] Politecn Milan, Milan, Italy
[3] Innopolis Univ, Kazan, Russia
基金
欧洲研究理事会;
关键词
GPGPU; parallel computing; runtime code generation; programming; object-orientation; design-by-contract; program correctness; VERIFICATION; LANGUAGE;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adoption, however, is the difficulty of programming them and the low-level control of the hardware required to achieve good performance. This paper suggests a programming library, SafeGPU, that aims at striking a balance between programmer productivity and performance, by making GPU data-parallel operations accessible from within a classical object-oriented programming language. The solution is integrated with the design-by-contract approach, which increases confidence in functional program correctness by embedding executable program specifications into the program text. We show that our library leads to modular and maintainable code that is accessible to GPGPU non-experts, while providing performance that is comparable with hand-written CUDA code. Furthermore, runtime contract checking turns out to be feasible, as the contracts can be executed on the GPU.
引用
下载
收藏
页码:75 / 84
页数:10
相关论文
共 50 条
  • [31] General-purpose cells?
    Solter, D
    Gearhart, J
    RECHERCHE, 1999, (320): : 32 - 34
  • [32] A GENERAL-PURPOSE MACROGENERATOR
    STRACHEY, C
    COMPUTER JOURNAL, 1965, 8 (03): : 225 - 241
  • [33] GENERAL-PURPOSE COMPUTER
    TAUBE, M
    SCIENCE, 1962, 136 (3515) : 590 - &
  • [34] General-Purpose Computation on GPUs in the Browser Using gpu.js']js
    Sapuan, Fazli
    Saw, Matthew
    Cheah, Eugene
    COMPUTING IN SCIENCE & ENGINEERING, 2018, 20 (01) : 33 - 42
  • [35] PARALLEL NEAR-DUPLICATE DOCUMENT DETECTION USING GENERAL-PURPOSE GPU
    Peshevski, Dimitar
    Zdraveski, Vladimir
    Ristov, Sashko
    COMPUTING AND INFORMATICS, 2024, 43 (03) : 583 - 610
  • [36] A GENERAL-PURPOSE ANIMATOR
    BRUNNER, DT
    HENRIKSEN, JO
    1989 WINTER SIMULATION CONFERENCE PROCEEDINGS, 1989, : 155 - 163
  • [37] Contract-based Generic Programming Mechanism for Dynamic Service Orchestration
    Xie, Wuping
    Xue, Jinyun
    Jiang, Dongming
    2014 IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY (CIT), 2014, : 252 - 257
  • [38] GENERAL-PURPOSE MICROPROCESSORS
    不详
    ELECTRONIC DESIGN, 1980, 28 (24) : 150 - &
  • [39] A GENERAL-PURPOSE ELECTROMETER
    FRY, RM
    JOURNAL OF SCIENTIFIC INSTRUMENTS, 1954, 31 (08): : 269 - 271
  • [40] cuFINUFFT: a load-balanced GPU library for general-purpose nonuniform FFTs
    Shih, Yu-hsuan
    Wright, Garrett
    Anden, Joakim
    Blaschke, Johannes
    Barnett, Alex H.
    2021 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2021, : 688 - 697