University of Twente Student Theses

Login

Hybrid compilation between GPGPU and CPU targets for Rust

Aukes, Niek (2024) Hybrid compilation between GPGPU and CPU targets for Rust.

[img] PDF
533kB
Abstract:Compiling code using both the CPU and GPU has been gaining traction over the last decade. Especially Python has seen many of these innovations added via packages, such as Numba. However, compiled languages have not seen this same growth. This research proposes a new compiler exten- sion to allow writing GPU kernels in native Rust – a language for reliable, high-performance systems programming. Presently, it is impossible to share code between the host (CPU) and device (GPU) within the Rust solutions for hybrid programming. Our approach represents an initial advancement in this area: We made modifications to the Rust compiler to establish the foundation for a hybrid compilation process. These modifications include: (i) enabling the parsing of kernels defined in Rust for subsequent GPU com- pilation, and (ii) developing a method for accessing the generated kernel bytecode (GPU) from the host Rust code. Additionally, we created a set of li- braries to facilitate kernel launching and execution, along with ensuring safe memory management. Our extended compiler and the libraries necessary for executing the GPU kernels in Rust are publicly accessible.
Item Type:Essay (Bachelor)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science BSc (56964)
Awards:Best Track paper award
Link to this item:https://purl.utwente.nl/essays/100981
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page