Towards practical heterogeneous virtual machines

James Clarkson, Juan Fumero, Michail Papadimitriou, Maria Xekalaki, Christos Kotselidis
2018 Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming - Programming'18 Companion  
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. CCS CONCEPTS • Software and its engineering → Virtual machines;
doi:10.1145/3191697.3191730 dblp:conf/programming/ClarksonFPXK18 fatcat:h2e2hc4rlja67dwpgtw3zqsim4