Design och implementation av ett GPU-programspråk med högre ordningens funktioner

Publicerad

Typ

Examensarbete på kandidatnivå
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

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced