Dynamic and Static Code Analysis for Java Programs on Heterogeneous Hardware
Contributors
Description
The increasing prevalence of heterogeneous computing systems, incorporating accelerators like GPUs, has spurred the development of advanced frameworks to bring high performance capabilities to managed languages. TornadoVM is a state-of-the-art, open-source framework for accelerating Java programs. It enables Java applications to offload computation onto GPUs and other accelerators, thereby bridging the gap between the high-level abstractions of the Java Virtual Machine (JVM) and the low-level, performance-oriented world of parallel programming models, such as OpenCL and CUDA. However, this bridging comes with inherent tradeoffs. The semantic and operational mismatch between these two worlds - such as managed memory versus explicit memory control, or dynamic JIT compilation versus static kernel generation - TornadoVM to limit or exclude support for certain Java features. These limitations can hinder developer productivity and make it difficult to identify and resolve compatibility issues during development.
This paper introduces TornadoInsight, a tool that simplifies development with TornadoVM by detecting incompatible Java constructs through static and dynamic analysis. TornadoInsight is developed as an open-source IntelliJ IDEA plugin that provides immediate, source-linked feedback within the developer’s workflow. We present the architecture of TornadoInsight, detail its inspection mechanisms, and evaluate its effectiveness in improving the development workflow for TornadoVM users. TornadoInsight is publicly available and offers a practical solution for enhancing developer experience and productivity in heterogeneous managed runtime environments.
Files
CAMERA_READY.pdf
Files
(2.1 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:fb976a2fbd931ee69216befc9d9850ef
|
2.1 MB | Preview Download |
Additional details
Funding
- European Commission
- AERO - Accelerated EuRopean clOud 101092850
- European Commission
- ENCRYPT - A SCALABLE AND PRACTICAL PRIVACY-PRESERVING FRAMEWORK 101070670
- European Commission
- INCODE - Programming Platform for Intelligent Collaborative Deployments over Heterogeneous Edge-IoT Environments 101093069
- European Commission
- TANGO - Digital Technologies ActiNg as a Gatekeeper to information and data flOws 101070052
- UK Research and Innovation
- ENCRYPT 10039809
- UK Research and Innovation
- AERO 10048318
- UK Research and Innovation
- TANGO 10039107
- UK Research and Innovation
- INCODE 10063848