Evaluation of Juliana Tool: A translator for Julia’s CUDA.jl code into KernelAbstraction.jl

Julia is a high-level language that supports the execution of parallel code through various packages. CUDA.jl is widely used for developing GPU-accelerated code in Julia and is integrated into many libraries and programs. In this paper, we present Juliana, a novel tool that automatically translates Julia code utilizing the CUDA.jl package into an abstract, multi-backend representation powered by the KernelAbstractions.jl package. To evaluate the tool’s viability and performance, we analyzed four Julia projects: Rodinia, miniBUDE, BabelStream, and Oceananigans.jl. The performance overhead of this approach was found to be relatively low (under 7% for the Rodinia suite), with performance portability metrics showing results nearly identical to the native implementations. By running the same code across multiple KernelAbstractions’ backends, we successfully executed these translated projects on GPUs from vendors such as NVIDIA, Intel, AMD, and Apple. This ensured compatibility across these platforms and enabled first-time execution on some devices. • The paper proposes Juliana ( Julia unification la yer for Intel, AMD, Nvidia and Apple) tool. • Juliana translates Julia code based on CUDA.jl to KernelAbstractions to use GPUs. • Demonstration of Juliana’s low performance overhead across multiple hardware platforms. • Juliana tested on Rodinia, miniBUDE, BabelStream, and Oceananigans for applicability. • Introduction of new features makes Juliana versatile for real-world applications.

Authors

Institutions

Publication Details

Journal
Future Generation Computer Systems
Published
2025-04-06
DOI
https://doi.org/10.1016/j.future.2025.107813
Citations
2
Primary Topic
Computational Physics and Python Applications
Type
article
Field-Weighted Citation Impact
4.96

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Evaluation of Juliana Tool: A translator for Julia’s CUDA.jl code into KernelAbstraction.jl

Carlos García, Enrique de la Calle
2 citations
Future Generation Computer Systems
Computational Physics and Python Applications
4.96
article

Evaluation of Juliana Tool: A translator for Julia’s CUDA.jl code into KernelAbstraction.jl

Carlos García, Enrique de la Calle
article en
2 citations

Abstract

Julia is a high-level language that supports the execution of parallel code through various packages. CUDA.jl is widely used for developing GPU-accelerated code in Julia and is integrated into many libraries and programs. In this paper, we present Juliana, a novel tool that automatically translates Julia code utilizing the CUDA.jl package into an abstract, multi-backend representation powered by the KernelAbstractions.jl package. To evaluate the tool’s viability and performance, we analyzed four Julia projects: Rodinia, miniBUDE, BabelStream, and Oceananigans.jl. The performance overhead of this approach was found to be relatively low (under 7% for the Rodinia suite), with performance portability metrics showing results nearly identical to the native implementations. By running the same code across multiple KernelAbstractions’ backends, we successfully executed these translated projects on GPUs from vendors such as NVIDIA, Intel, AMD, and Apple. This ensured compatibility across these platforms and enabled first-time execution on some devices. • The paper proposes Juliana ( Julia unification la yer for Intel, AMD, Nvidia and Apple) tool. • Juliana translates Julia code based on CUDA.jl to KernelAbstractions to use GPUs. • Demonstration of Juliana’s low performance overhead across multiple hardware platforms. • Juliana tested on Rodinia, miniBUDE, BabelStream, and Oceananigans for applicability. • Introduction of new features makes Juliana versatile for real-world applications.

Future Generation Computer SystemsVol. 171
Universidad Complutense de Madrid (ES)
European Commission, Federación Española de Enfermedades Raras, Ministerio de Economía y Competitividad, Ministerio de Ciencia e Innovación, Ministerio de Asuntos Económicos y Transformación Digital, Gobierno de España, European Regional Development Fund, Agencia Estatal de Investigación
Openalex Percentile: Top 6%
Computational Physics and Python Applications
4.96
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.