Title
Functional array streams
Abstract
Regular array languages for high performance computing based on aggregate operations provide a convenient parallel programming model, which enables the generation of efficient code for SIMD architectures, such as GPUs. However, the data sets that can be processed with current implementations are severely constrained by the limited amount of main memory available in these architectures. In this paper, we propose an extension of the embedded array language Accelerate with a notion of sequences, resulting in a two level hierarchy which allows the programmer to specify a partitioning strategy which facilitates automatic resource allocation. Depending on the available memory, the runtime system processes the overall data set in streams of chunks appropriate to the hardware parameters. In this paper, we present the language design for the sequence operations, as well as the compilation and runtime support, and demonstrate with a set of benchmarks the feasibility of this approach.
Year
DOI
Venue
2015
10.1145/2808091.2808094
FHPC@ICFP
Keywords
Field
DocType
Streams,Arrays,Data parallelism,GPGPU,Haskell,Embedded language
Programmer,Supercomputer,Computer science,Parallel computing,SIMD,Parallel programming model,Resource allocation,Data parallelism,Haskell,Runtime system
Conference
Citations 
PageRank 
References 
1
0.39
20
Authors
4
Name
Order
Citations
PageRank
Frederik M. Madsen151.15
Robert Clifton-Everest210.73
Manuel M. T. Chakravarty366641.89
Gabriele Keller465736.02