Evaluation of Rust for GPGPU high-performance computing

dc.contributor.authorFranzén, Viktor
dc.contributor.authorÖstling, Carl
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerAssarsson, Ulf
dc.contributor.supervisorPericas, Miquel
dc.date.accessioned2022-10-07T11:18:40Z
dc.date.available2022-10-07T11:18:40Z
dc.date.issued2022sv
dc.date.submitted2020
dc.description.abstractResearch within computer science constantly aims to find ways to improve computing performance in various ways. With the apparent death of Moore’s Law, researchers are focused on exploiting other ways of improving performance, for example, programming language optimizations. Fields such as web development, databases and, machine learning are adopting new programming languages but GPU programming is not seeing this adoption. This thesis aims to evaluate Rust as a competitor to the status quo of programming languages for GPU programming, namely C++. In order to achieve this, comparable CUDA kernels are built in both C++ and Rust which are then profiled and analyzed for insights that can indicate reasons why one might outperform the other. The results show that execution time and energy consumption of C++ kernels are lower in nearly every experiment when having line-by-line comparable code. However, slight adjustments to the implementation of the Rust kernels close this gap to the point that they are performing at the same level. This indicates that it is possible to implement high-performance GPGPU programs in Rust, while still bringing some of its features such as memory safety and modern programming utilities to the GPU programming community.sv
dc.identifier.coursecodeDATX05sv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/305693
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.subjectHPCsv
dc.subjectRustsv
dc.subjectC++sv
dc.subjectNVIDIAsv
dc.subjectCUDAsv
dc.subjectPTXsv
dc.subjectRust-CUDAsv
dc.subjectNSight Computesv
dc.subjectperformance.sv
dc.titleEvaluation of Rust for GPGPU high-performance computingsv
dc.type.degreeExamensarbete för masterexamensv
dc.type.uppsokH

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 22-18 Franzén Östling.pdf
Storlek:
3.3 MB
Format:
Adobe Portable Document Format
Beskrivning:

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.51 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: