Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3191697.3191730acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
extended-abstract

Towards practical heterogeneous virtual machines

Published: 09 April 2018 Publication History

Abstract

Heterogeneous computing has emerged as a means to achieve high performance and energy efficiency. Naturally, this trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.
Instead of using low-level programming languages, developers tend to prefer more high-level, object-oriented languages typically executed on managed runtime environments. Although many programmers might expect that such languages would have already been adapted for execution on heterogeneous hardware, the reality is that their support is either very limited or totally absent. This paper highlights the main reasons and complexities of enabling heterogeneous managed runtime systems and proposes a number of directions to address those challenges.

References

[1]
AMD. 2016. Aparapi. (2016). http://aparapi.github.io/.
[2]
James Clarkson, Christos Kotselidis, Gavin Brown, and Mikel Luján. 2017. Boosting Java Performance using GPGPUs. In Proceedings of the 30th International Conference on Architecture of Computing Systems (ARCS ’17).
[3]
Christophe Dubach, Perry Cheng, Rodric Rabbah, David F. Bacon, and Stephen J. Fink. 2012. Compiling a High-level Language for GPUs: (via Language Support for Architectures and Compilers). In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’12). ACM, New York, NY, USA, 1–12.
[4]
Juan Fumero, Michel Steuwer, Lukas Stadler, and Christophe Dubach. 2017. Just-In-Time GPU Compilation for Interpreted Languages with Partial Evaluation. In Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE ’17). ACM, New York, NY, USA, 60–73.
[5]
Juan Fumero, Michel Steuwer, Lukas Stadler, and Christophe Dubach. 2017. OpenCL JIT Compilation for Dynamic Programming Languages. In MoreVMs Workshop. Collocated with Programing 2017 (MoreVMs ’17).
[6]
Juan José Fumero, Toomas Remmelg, Michel Steuwer, and Christophe Dubach. 2015. Runtime Code Generation and Data Management for Heterogeneous Computing in Java. In Proceedings of the Principles and Practices of Programming on The Java Platform (PPPJ ’15). ACM, New York, NY, USA, 16–26. org/10.1145/2807426.2807428
[7]
Juan José Fumero, Michel Steuwer, and Christophe Dubach. 2014. A Composable Array Function Interface for Heterogeneous Computing in Java. In ARRAY’14: Proceedings of the 2014 ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming. 44.
[8]
Akihiro Hayashi, Max Grossman, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. 2013. Accelerating Habanero-Java Programs with OpenCL Generation. In Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ ’13). ACM, New York, NY, USA, 124–134.
[9]
K. Ishizaki, A. Hayashi, G. Koblents, and V. Sarkar. 2015. Compiling and Optimizing Java 8 Programs for GPU Execution. In 2015 International Conference on Parallel Architecture and Compilation (PACT). 419–431. PACT.2015.46
[10]
Christos Kotselidis, James Clarkson, Andrey Rodchenko, Andy Nisbet, John Mawer, and Mikel Luján. 2017. Heterogeneous Managed Runtime Systems: A Computer Vision Case Study. In Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE ’17). ACM, New York, NY, USA, 74–82.
[11]
Christos Kotselidis, Andrey Rodchenko, Colin Barrett, Andy Nisbet, John Mawer, Will Toms, James Clarkson, et al. 2015. Project Beehive: A Hardware/Software Co-designed Stack for Runtime and Architectural Research. In 9th International Workshop on Programmability and Architectures for Heterogeneous Multicores (MULTIPROG) (2015). http://arxiv.org/abs/1509.04085
[12]
Philip C. Pratt-Szeliga, James W. Fawcett, and Roy D. Welch. 2012. Rootbeer: Seamlessly Using GPUs from Java (HPCC-ICESS), Geyong Min, Jia Hu, Lei (Chris) Liu, Laurence Tianruo Yang, Seetharami Seelam, and Laurent Lefevre (Eds.).
[13]
Sumtra. 2015. Sumatra OpenJDK. (2015). http://openjdk.java.net/projects/ sumatra/.
[14]
December TIOBE List. 2017. TIOBE Programming Language Index. (2017). http://www.tiobe.com/tiobe-index/.
[15]
Wojciech Zaremba, Yuan Lin, and Vinod Grover. 2012. JaBEE: Framework for Object-oriented Java Bytecode Compilation and Execution on Graphics Processor Units. In Proceedings of the 5th Annual Workshop on General Purpose Processing with Graphics Processing Units (GPGPU-5). ACM, New York, NY, USA, 74–83. Abstract 1 Introduction 2 Challenges 3 Proposal Acknowledgments References

Cited By

View all
  • (2018)Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented RealityProceedings of the IEEE10.1109/JPROC.2018.2856739106:11(2020-2039)Online publication date: Nov-2018

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming
April 2018
244 pages
ISBN:9781450355131
DOI:10.1145/3191697
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 April 2018

Check for updates

Author Tags

  1. FPGA
  2. GPGPU
  3. Java
  4. Managed Runtime Systems
  5. OpenCL
  6. Virtual Machines

Qualifiers

  • Extended-abstract

Funding Sources

  • EU Horizon 2020
  • EPSRC

Conference

<Programming> 2018

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented RealityProceedings of the IEEE10.1109/JPROC.2018.2856739106:11(2020-2039)Online publication date: Nov-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media