Compiler-Assisted Test Acceleration on GPUs for Embedded Software

被引:12
|
作者
Yaneva, Vanya [1 ]
Rajan, Ajitha [1 ]
Dubach, Christophe [1 ]
机构
[1] Univ Edinburgh, Sch Informat, Edinburgh, Midlothian, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Functional testing; GPUs; Embedded software; Compilers; Automated testing;
D O I
10.1145/3092703.3092720
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Embedded software is found everywhere from our highly visible mobile devices to the confines of our car in the form of smart sensors. Embedded software companies are under huge pressure to produce safe applications that limit risks, and testing is absolutely critical to alleviate concerns regarding safety and user privacy. This requires using large test suites throughout the development process, increasing time-to-market and ultimately hindering competitivity. Speeding up test execution is, therefore, of paramount importance for embedded software developers. This is traditionally achieved by running, in parallel, multiple tests on large-scale clusters of computers. However, this approach is costly in terms of infrastructure maintenance and energy consumed, and is at times inconvenient as developers have to wait for their tests to be scheduled on a shared resource. We propose to look at exploiting GPUs (Graphics Processing Units) for running embedded software testing. GPUs are readily available in most computers and offer tremendous amounts of parallelism, making them an ideal target for embedded software testing. In this paper, we demonstrate, for the first time, how test executions of embedded C programs can be automatically performed on a GPU, without involving the end user. We take a compiler-assisted approach which automatically compiles the C program into GPU kernels for parallel execution of the input tests. Using this technique, we achieve an average speedup of 16x when compared to CPU execution of input tests across nine programs from an industry standard embedded benchmark suite.
引用
下载
收藏
页码:35 / 45
页数:11
相关论文
共 50 条
  • [31] Compiler-assisted dynamic scratch-pad memory management with space overlapping for embedded systems
    Yang, Yanqin
    Yan, Haijin
    Shao, Zili
    Guo, Minyi
    SOFTWARE-PRACTICE & EXPERIENCE, 2011, 41 (07): : 737 - 752
  • [32] COMPAS: Compiler-assisted Software-implemented Hardware Fault Tolerance for RISC-V
    Sharif, Uzair
    Mueller-Gritschneder, Daniel
    Schlichtmann, Ulf
    2022 11TH MEDITERRANEAN CONFERENCE ON EMBEDDED COMPUTING (MECO), 2022, : 80 - 83
  • [33] Reducing Context Switch Overhead with Compiler-Assisted Threading
    Jaaskelainen, Pekka
    Kellomaki, Pertti
    Takala, Jarmo
    Kultala, Heikki
    Lepisto, Mikael
    EUC 2008: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING, VOL 2, WORKSHOPS, 2008, : 461 - 466
  • [34] Compiler-assisted Data Placement for Heterogeneous Memory Systems
    Kim, Hwajung
    IEICE ELECTRONICS EXPRESS, 2024,
  • [35] Compiler-Assisted Loop Hardening Against Fault Attacks
    Proy, Julien
    Heydemann, Karine
    Berzati, Alexandre
    Cohen, Albert
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2017, 14 (04)
  • [36] Compiler-assisted energy optimization for clustered VLIW processors
    Nagpal, Rahul
    Srikant, Y. N.
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2012, 72 (08) : 944 - 959
  • [37] CARE: Compiler-Assisted Recovery from Soft Failures
    Chen, Chao
    Eisenhauer, Greg
    Pande, Santosh
    Guan, Qiang
    PROCEEDINGS OF SC19: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2019,
  • [38] Compiler-assisted power optimization for clustered VLIW architectures
    Nagpal, Rahul
    Srikant, Y. N.
    PARALLEL COMPUTING, 2011, 37 (01) : 42 - 59
  • [39] Compiler-Assisted Overlapping of Communication and Computation in MPI Applications
    Guo, Jichi
    Yi, Qing
    Meng, Jiayuan
    Zhang, Junchao
    Balaji, Pavan
    2016 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2016, : 60 - 69
  • [40] Compiler-Assisted Data Streaming for Regular Code Structures
    Neves, Nuno
    Tomas, Pedro
    Roma, Nuno
    IEEE TRANSACTIONS ON COMPUTERS, 2021, 70 (03) : 483 - 494