{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,24]],"date-time":"2026-04-24T01:20:38Z","timestamp":1776993638059,"version":"3.51.4"},"publisher-location":"New York, New York, USA","reference-count":46,"publisher":"ACM Press","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["PAMELA EP\/K008730\/1 and AnyScale Apps EP\/L000725\/1"],"award-info":[{"award-number":["PAMELA EP\/K008730\/1 and AnyScale Apps EP\/L000725\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100007601","name":"Horizon 2020","doi-asserted-by":"publisher","award":["E2Data 780245"],"award-info":[{"award-number":["E2Data 780245"]}],"id":[{"id":"10.13039\/501100007601","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1145\/3237009.3237016","type":"proceedings-article","created":{"date-parts":[[2018,8,30]],"date-time":"2018-08-30T14:00:37Z","timestamp":1535637637000},"page":"1-13","source":"Crossref","is-referenced-by-count":18,"title":["Exploiting high-performance heterogeneous hardware for Java programs using graal"],"prefix":"10.1145","author":[{"given":"James","family":"Clarkson","sequence":"first","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Juan","family":"Fumero","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Michail","family":"Papadimitriou","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Foivos S.","family":"Zakkak","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Maria","family":"Xekalaki","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Christos","family":"Kotselidis","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]},{"given":"Mikel","family":"Luj\u00e1n","sequence":"additional","affiliation":[{"name":"The University of Manchester, Manchester, UK"}]}],"member":"320","reference":[{"key":"key-10.1145\/3237009.3237016-1","unstructured":"2015. Project Beehive: A Hardware\/Software Co-designed Stack for Runtime and Architectural Research.CoRRabs\/1509.04085 (2015). arXiv:1509.04085 http:\/\/arxiv.org\/abs\/1509.04085 Withdrawn."},{"key":"key-10.1145\/3237009.3237016-2","unstructured":"AMD. 2016. Aparapi. (2016). Retrieved August 1, 2018 from http:\/\/developer.amd.com\/tools-and-sdks\/heterogeneous-computing\/aparapi"},{"key":"key-10.1145\/3237009.3237016-3","doi-asserted-by":"crossref","unstructured":"Joshua Auerbach, David F. Bacon, Perry Cheng, and Rodric Rabbah. 2010. Lime: A Java-compatible and Synthesizable Language for Heterogeneous Architectures. InProceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA '10).ACM, New York, NY, USA, 89--108.","DOI":"10.1145\/1869459.1869469"},{"key":"key-10.1145\/3237009.3237016-4","doi-asserted-by":"crossref","unstructured":"James Bergstra, Olivier Breuleux, Fr&#233;d&#233;ric Bastien, Pascal Lamblin, Razvan Pascanu, Guillaume Desjardins, Joseph Turian, David Warde-Farley, and Yoshua Bengio. 2010. Theano: a CPU and GPU Math Expression Compiler. InProceedings of the Python for Scientific Computing Conference (SciPy).3--10.","DOI":"10.25080\/Majora-92bf1922-003"},{"key":"key-10.1145\/3237009.3237016-5","doi-asserted-by":"crossref","unstructured":"P. J. Besl and H. D. McKay. 1992. A method for registration of 3-D shapes.IEEE Transactions on Pattern Analysis and Machine Intelligence14, 2 (Feb 1992), 239--256.","DOI":"10.1109\/34.121791"},{"key":"key-10.1145\/3237009.3237016-6","doi-asserted-by":"crossref","unstructured":"Bryan Catanzaro, Michael Garland, and Kurt Keutzer. 2011. Copperhead: Compiling an Embedded Data Parallel Language. InProceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming (PPoPP '11).ACM, New York, NY, USA, 47--56.","DOI":"10.1145\/1941553.1941562"},{"key":"key-10.1145\/3237009.3237016-7","unstructured":"Olivier Chafik. 2015. ScalaCL: Faster Scala: optimizing compiler plugin + GPU-based collections (OpenCL). (2015). Retrieved August 1, 2018 from https:\/\/github.com\/nativelibs4java\/ScalaCL"},{"key":"key-10.1145\/3237009.3237016-8","doi-asserted-by":"crossref","unstructured":"Manuel M.T. Chakravarty, Gabriele Keller, Sean Lee, Trevor L. McDonell, and Vinod Grover. 2011. Accelerating Haskell Array Codes with Multicore GPUs. InProceedings of the Sixth Workshop on Declarative Aspects of Multicore Programming (DAMP '11).ACM, New York, NY, USA, 3--14.","DOI":"10.1145\/1926354.1926358"},{"key":"key-10.1145\/3237009.3237016-9","doi-asserted-by":"crossref","unstructured":"James Clarkson, Christos Kotselidis, Gavin Brown, and Mikel Luj&#225;n. 2017. Boosting Java Performance Using GPGPUs. InArchitecture of Computing Systems - ARCS 2017, Jens Knoop, Wolfgang Karl, Martin Schulz, Koji Inoue, and Thilo Pionteck (Eds.). Springer International Publishing, Cham, 59--70.","DOI":"10.1007\/978-3-319-54999-6_5"},{"key":"key-10.1145\/3237009.3237016-10","unstructured":"Ronan Collobert, Koray Kavukcuoglu, and Cl&#233;ment Farabet. 2011. Torch7: A Matlab-like Environment for Machine Learning. InBigLearn, NIPS Workshop."},{"key":"key-10.1145\/3237009.3237016-11","unstructured":"NVIDIA Corporation. 2017. CUDA. (2017). Retrieved August 1, 2018 from http:\/\/developer.nvidia.com\/cuda-zone"},{"key":"key-10.1145\/3237009.3237016-12","unstructured":"NVIDIA Corporation. 2017. Parallel Thread Execution ISA Version 4.0. (2017). Retrieved August 1, 2018 from https:\/\/docs.nvidia.com\/cuda\/parallel-thread-execution\/index.html"},{"key":"key-10.1145\/3237009.3237016-13","doi-asserted-by":"crossref","unstructured":"Georg Dotzler, Ronald Veldema, and Michael Klemm. 2010. JCudaMP. InProceedings of the 3rd International Workshop on Multicore Software Engineering.10--17.","DOI":"10.1145\/1808954.1808959"},{"key":"key-10.1145\/3237009.3237016-14","doi-asserted-by":"crossref","unstructured":"Christophe Dubach, Perry Cheng, Rodric Rabbah, David Bacon, and Stephen Fink. 2012. Compiling a High-Level Language for GPUs (via Language Support for Architectures and Compilers). InProceedings of the 33rd ACM SIGPLAN Symposium on Programming Language Design and Implementation (PLDI).1--12. papers\/dubach12pldi.pdf","DOI":"10.1145\/2254064.2254066"},{"key":"key-10.1145\/3237009.3237016-15","doi-asserted-by":"crossref","unstructured":"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). InProceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '12).ACM, New York, NY, USA, 1--12.","DOI":"10.1145\/2254064.2254066"},{"key":"key-10.1145\/3237009.3237016-16","unstructured":"G. Duboscq, L. Stadler, T. W&#252;rthinger, D. Simon, C. Wimmer, and H. M&#246;ssenb&#246;ck. 2013. Graal IR: An extensible declarative intermediate representation. InAsia-Pacific Programming Languages and Compilers."},{"key":"key-10.1145\/3237009.3237016-17","doi-asserted-by":"crossref","unstructured":"Gilles Duboscq, Thomas W&#252;rthinger, Lukas Stadler, Christian Wimmer, Doug Simon, and Hanspeter M&#246;ssenb&#246;ck. 2013. An Intermediate Representation for Speculative Optimizations in a Dynamic Compiler. InProceedings of the 7th ACM Workshop on Virtual Machines and Intermediate Languages (VMIL '13).ACM, New York, NY, USA, 1--10.","DOI":"10.1145\/2542142.2542143"},{"key":"key-10.1145\/3237009.3237016-18","unstructured":"EJML. 2017. EJML. (2017). Retrieved August 1, 2018 from http:\/\/ejml.org"},{"key":"key-10.1145\/3237009.3237016-19","unstructured":"HSA Foundation. 2016. HSA Foundation. (2016). Retrieved August 1, 2018 from http:\/\/www.hsafoundation.com"},{"key":"key-10.1145\/3237009.3237016-20","unstructured":"HSA Foundation. 2017. HSAIL Virtual ISA and Programming Model, Compiler Writer's Guide, and Object Format (BRIG) .95. (2017). Retrieved August 1, 2018 from https:\/\/hsafoundation.box.com\/s\/m6mrsjv8b7r50kqeyyalg"},{"key":"key-10.1145\/3237009.3237016-21","doi-asserted-by":"crossref","unstructured":"Juan Fumero, Michel Steuwer, Lukas Stadler, and Christophe Dubach. 2017. Just-In-Time GPU Compilation for Interpreted Languages with Partial Evaluation. InProceedings of the 13th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments (VEE '17).ACM, New York, NY, USA, 60--73.","DOI":"10.1145\/3050748.3050761"},{"key":"key-10.1145\/3237009.3237016-22","doi-asserted-by":"crossref","unstructured":"Juan Jos&#233; Fumero, Toomas Remmelg, Michel Steuwer, and Christophe Dubach. 2015. Runtime Code Generation and Data Management for Heterogeneous Computing in Java. InProceedings of the Principles and Practices of Programming on The Java Platform (PPPJ '15).ACM, New York, NY, USA, 16--26.","DOI":"10.1145\/2807426.2807428"},{"key":"key-10.1145\/3237009.3237016-23","doi-asserted-by":"crossref","unstructured":"Juan Jos&#233; Fumero, Michel Steuwer, and Christophe Dubach. 2014. A Composable Array Function Interface for Heterogeneous Computing in Java. InProceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY'14).ACM, New York, NY, USA, 44:44--44:49.","DOI":"10.1145\/2627373.2627381"},{"key":"key-10.1145\/3237009.3237016-24","unstructured":"Khronos Group. 2017. OpenCL. (2017). Retrieved August 1, 2018 from https:\/\/www.khronos.org\/opencl"},{"key":"key-10.1145\/3237009.3237016-25","unstructured":"A. Handa, T. Whelan, J.B. McDonald, and A.J. Davison. 2014. A Benchmark for RGB-D Visual Odometry, 3D Reconstruction and SLAM. InIEEE Intl. Conf. on Robotics and Automation, ICRA.Hong Kong, China, 1524--1531."},{"key":"key-10.1145\/3237009.3237016-26","doi-asserted-by":"crossref","unstructured":"Akihiro Hayashi, Max Grossman, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. 2013. Accelerating Habanero-Java Programs with OpenCL Generation. InProceedings 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.","DOI":"10.1145\/2500828.2500840"},{"key":"key-10.1145\/3237009.3237016-27","doi-asserted-by":"crossref","unstructured":"Akihiro Hayashi, Max Grossman, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. 2013. Accelerating Habanero-Java Programs with OpenCL Generation. InProceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools.124--134.","DOI":"10.1145\/2500828.2500840"},{"key":"key-10.1145\/3237009.3237016-28","doi-asserted-by":"crossref","unstructured":"Sylvain Henry. 2013. ViperVM: A Runtime System for Parallel Functional High-performance Computing on Heterogeneous Architectures. InProceedings of the 2Nd ACM SIGPLAN Workshop on Functional High-performance Computing (FHPC '13).ACM, New York, NY, USA, 3--12.","DOI":"10.1145\/2502323.2502329"},{"key":"key-10.1145\/3237009.3237016-29","doi-asserted-by":"crossref","unstructured":"Stephan Herhut, Richard L. Hudson, Tatiana Shpeisman, and Jaswanth Sreeram. 2013. River Trail: A Path to Parallelism in JavaScript. InProceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages &#38; Applications (OOPSLA '13).ACM, New York, NY, USA, 729--744.","DOI":"10.1145\/2509136.2509516"},{"key":"key-10.1145\/3237009.3237016-30","unstructured":"Kazuaki Ishizaki, Akihiro Hayashi, Gita Koblents, and Vivek Sarkar. 2015. Compiling and Optimizing Java 8 Programs for GPU Execution. InProceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT) (PACT '15).IEEE Computer Society, Washington, DC, USA, 419--431."},{"key":"key-10.1145\/3237009.3237016-31","unstructured":"JOCL. 2017. Java bindings for OpenCL. (2017). Retrieved August 1, 2018 from http:\/\/www.jocl.org\/"},{"key":"key-10.1145\/3237009.3237016-32","doi-asserted-by":"crossref","unstructured":"Andreas Kl&#246;ckner, Nicolas Pinto, Yunsup Lee, Bryan Catanzaro, Paul Ivanov, and Ahmed Fasih. 2012. PyCUDA and PyOpenCL: A Scripting-based Approach to GPU Run-time Code Generation.Parallel Comput.38, 3 (March 2012), 157--174.","DOI":"10.1016\/j.parco.2011.09.001"},{"key":"key-10.1145\/3237009.3237016-33","doi-asserted-by":"crossref","unstructured":"Christos Kotselidis, James Clarkson, Andrey Rodchenko, Andy Nisbet, John Mawer, and Mikel Luj&#225;n. 2017. Heterogeneous Managed Runtime Systems: A Computer Vision Case Study. InProceedings of the 13th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments (VEE '17).ACM, New York, NY, USA, 74--82.","DOI":"10.1145\/3050748.3050764"},{"key":"key-10.1145\/3237009.3237016-34","doi-asserted-by":"crossref","unstructured":"Geoffrey Mainland and Greg Morrisett. 2010. Nikola: Embedding Compiled GPU Functions in Haskell. InProceedings of the Third ACM Haskell Symposium on Haskell (Haskell '10).ACM, New York, NY, USA, 67--78.","DOI":"10.1145\/1863523.1863533"},{"key":"key-10.1145\/3237009.3237016-35","doi-asserted-by":"crossref","unstructured":"Luigi Nardi, Bruno Bodin, M. Zeeshan Zia, John Mawer, Andy Nisbet, Paul H. J. Kelly, Andrew J. Davison, Mikel Luj&#225;n, Michael F. P. O'Boyle, Graham Riley, Nigel Topham, and Steve Furber. 2015. Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM. InIEEE Intl. Conf. on Robotics and Automation (ICRA).","DOI":"10.1109\/ICRA.2015.7140009"},{"key":"key-10.1145\/3237009.3237016-36","doi-asserted-by":"crossref","unstructured":"Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohli, Jamie Shotton, Steve Hodges, and Andrew Fitzgibbon. 2011. KinectFusion: Real-time Dense Surface Mapping and Tracking. InProceedings of the 2011 10th IEEE International Symposium on Mixed and Augmented Reality (ISMAR '11).IEEE Computer Society, Washington, DC, USA, 127--136.","DOI":"10.1109\/ISMAR.2011.6092378"},{"key":"key-10.1145\/3237009.3237016-37","doi-asserted-by":"crossref","unstructured":"Nathaniel Nystrom, Derek White, and Kishen Das. 2011. Firepile: Run-time Compilation for GPUs in Scala. InProceedings of the 10th ACM International Conference on Generative Programming and Component Engineering (GPCE 11).ACM, New York, NY, USA, 107--116.","DOI":"10.1145\/2047862.2047883"},{"key":"key-10.1145\/3237009.3237016-38","unstructured":"OpenACC.org. 2017. OpenAcc: Directives for Accelerators. (2017). Retrieved August 1, 2018 from http:\/\/www.openacc-standard.org"},{"key":"key-10.1145\/3237009.3237016-39","unstructured":"OpenJDK. 2017. OpenMP. (2017). Retrieved August 1, 2018 from http:\/\/openjdk.java.net\/projects\/sumatra"},{"key":"key-10.1145\/3237009.3237016-40","doi-asserted-by":"crossref","unstructured":"P.C. Pratt-Szeliga, J.W. Fawcett, and R.D. Welch. 2012. Rootbeer: Seamlessly Using GPUs from Java. InProceedings of 14th International IEEE High Performance Computing and Communication Conference on Embedded Software and Systems.","DOI":"10.1109\/HPCC.2012.57"},{"key":"key-10.1145\/3237009.3237016-41","unstructured":"Alex Rubinsteyn, Eric Hielscher, Nathaniel Weinman, and Dennis Shasha. 2012. Parakeet: A Just-in-time Parallel Accelerator for Python. InProceedings of the 4th USENIX Conference on Hot Topics in Parallelism (HotPar'12).USENIX Association, Berkeley, CA, USA, 14--14."},{"key":"key-10.1145\/3237009.3237016-42","doi-asserted-by":"crossref","unstructured":"Matthias Springer, Peter Wauligmann, and Hidehiko Masuhara. 2017. Modular Array-based GPU Computing in a Dynamically-typed Language. InProceedings of the 4th ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY 2017).ACM, New York, NY, USA, 48--55.","DOI":"10.1145\/3091966.3091974"},{"key":"key-10.1145\/3237009.3237016-43","doi-asserted-by":"crossref","unstructured":"Yonghong Yan, Max Grossman, and Vivek Sarkar. 2009. JCUDA: A Programmer-Friendly Interface for Accelerating Java Programs with CUDA. InEuro-Par 2009 Parallel Processing, Henk Sips, Dick Epema, and Hai-Xiang Lin (Eds.), Vol. 5704. Springer Berlin Heidelberg.","DOI":"10.1007\/978-3-642-03869-3_82"},{"key":"key-10.1145\/3237009.3237016-44","unstructured":"Foivos S. Zakkak, Andy Nisbet, John Mawer, Tim Hartley, Nikos Foutris, Orion Papadakis, Andreas Andronikakis, Iain Apreotesei, and Christos Kotselidis. 2018. On the Future of Research VMs: A Hardware\/Software Perspective. InConference Companion of the 2Nd International Conference on Art, Science, and Engineering of Programming (Programming'18 Companion).ACM, New York, NY, USA, 51--53."},{"key":"key-10.1145\/3237009.3237016-45","doi-asserted-by":"crossref","unstructured":"Wojciech Zaremba, Yuan Lin, and Vinod Grover. 2012. JaBEE: Framework for Object-oriented Java Bytecode Compilation and Execution on Graphics Processor Units. InProceedings of the 5th Annual Workshop on General Purpose Processing with Graphics Processing Units (GPGPU-5).ACM, New York, NY, USA, 74--83.","DOI":"10.1145\/2159430.2159439"},{"key":"key-10.1145\/3237009.3237016-46","doi-asserted-by":"crossref","unstructured":"Zhengyou Zhang. 1994. Iterative Point Matching for Registration of Free-form Curves and Surfaces.Int. J. Comput. Vision13, 2 (Oct. 1994), 119--152.","DOI":"10.1007\/BF01427149"}],"event":{"name":"the 15th International Conference","location":"Linz, Austria","acronym":"ManLang '18","number":"15","start":{"date-parts":[[2018,9,12]]},"end":{"date-parts":[[2018,9,13]]}},"container-title":["Proceedings of the 15th International Conference on Managed Languages &amp; Runtimes - ManLang '18"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3237009.3237016","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/dl.acm.org\/ft_gateway.cfm?id=3237016&ftid=1999839&dwn=1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:39:34Z","timestamp":1750210774000},"score":1,"resource":{"primary":{"URL":"http:\/\/dl.acm.org\/citation.cfm?doid=3237009.3237016"}},"subtitle":[],"proceedings-subject":"Managed Languages & Runtimes","short-title":[],"issued":{"date-parts":[[2018]]},"references-count":46,"URL":"https:\/\/doi.org\/10.1145\/3237009.3237016","relation":{},"subject":[],"published":{"date-parts":[[2018]]}}}