Automatically Exploiting the Memory Hierarchy of GPUs through Just-in-Time Compilation

Research output: Contribution to conferencePaperpeer-review

Abstract

Although Graphics Processing Units (GPUs) have become pervasive for data-parallel workloads, the efficient exploitation of their tiered memory hierarchy requires explicit programming. The efficient utilization of different GPU memory tiers can yield higher performance at the expense of programmability since developers must have extended knowledge of the architectural details in order to utilize them.

In this paper, we propose an alternative approach based on Just-In-Time (JIT) compilation to automatically and transparently exploit local memory allocation and data locality on GPUs. In particular, we present a set of compiler extensions that allow arbitrary Java programs to utilize local memory on GPUs without explicit programming. We prototype and evaluate our proposed solution in the context of TornadoVM against a set of benchmarks and GPU architectures, showcasing performance speedups of up to 2.5x compared to equivalent baseline implementations that do not utilize local memory or data locality. In addition, we compare our proposed solution against hand-written optimized OpenCL code to assess the upper bound of performance improvements that can be transparently achieved by JIT compilation without trading programmability. The results showcase that the proposed extensions can achieve up to 94% of the performance of the native code, highlighting the efficiency of the generated code.

Bibliographical metadata

Original languageEnglish
Pages57-70
Number of pages14
Publication statusAccepted/In press - 16 Apr 2021
EventThe 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’21) - Virtual
Event duration: 16 Apr 202116 Apr 2021
Conference number: 17
https://conf.researchr.org/home/vee-2021

Conference

ConferenceThe 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’21)
Abbreviated titleVEE
Period16/04/2116/04/21
Internet address