Design och implementation av ett GPU-programspråk med högre ordningens funktioner
Ladda ner
Publicerad
Typ
Examensarbete på kandidatnivå
Bachelor Thesis
Bachelor Thesis
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
A new programming language, gpulang, is introduced together with its abstractions that enable automatic parallelisation of programs. Central to the language is the concept of streams, an abstract data type that may only be inspected through built-in higher-order functions such as map, reduce, and filter. This restricted access model is intended to facilitate optimisation by the compiler. We describe the design of the language as well as the implementation of its compiler, which includes code generation for NVIDIA and AMD GPUs using the existing HIP framework. Preliminary performance measurements suggest that gpulang achieves performance comparable to the functional GPU language Futhark, but trails behind the Thrust C++ library.
Beskrivning
Ämne/nyckelord
compiler, GPU, parallelisation, programming language, streams
