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

Loading...
Thumbnail Image

Date

Type

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

Citation

Architect

Location

Type of building

Build Year

Model type

Scale

Material / technology

Index

Collections

Endorsement

Review

Supplemented By

Referenced By