A Type Safe Translation of a Functional Array Language to a Process Calculus
Authors
Term
4. term
Education
Publication year
2025
Submitted on
2025-06-06
Pages
41
Abstract
Using graphics processing units (GPUs) for computations bring a significant amount of computational power compared to the central processing unit (CPU) through the use parallelisation. The functional array programming language Futhark makes use of array operations known as second-order array combinators (SOACs) for compiling to optimised GPU code. In this report we extend an existing untyped core language, ButF (a subset of Futhark), and an extended pi-calculus with broadcasting capabilities, Epi, by Hüttel et. al, with simple type systems (called BtF and Tepi, respectively). The two type systems are then proven to be sound in regards to their respective semantics. The original translation from ButF to Epi is then extended by incorporating the type systems which provides static guarantees about program behaviors. This results in a type-preserving data-parallel implementation of BtF in Tepi which is proven to be correct through proofs about the translation of the types and behaviour.
Keywords
Type system ; Semantics ; Pi-calculus ; Futhark ; Encoding
Documents
