Design och implementation av ett GPU-programspråk med högre ordningens funktioner
Loading...
Download
Date
Type
Examensarbete på kandidatnivå
Bachelor Thesis
Bachelor Thesis
Programme
Model builders
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
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.
Description
Keywords
compiler, GPU, parallelisation, programming language, streams
