Functional array streams

  • Frederik M. Madsen
  • , Robert Clifton-Everest
  • , Manuel M.T. Chakravarty
  • , Gabriele Keller

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

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.

Original languageEnglish
Title of host publicationFHPC 2015 - Proceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing, co-located with ICFP 2015
PublisherAssociation for Computing Machinery
Pages23-34
Number of pages12
ISBN (Electronic)9781450338073
DOIs
Publication statusPublished - 30 Aug 2015
Externally publishedYes
Event4th ACM SIGPLAN Workshop on Functional High-Performance Computing, FHPC 2015 - Vancouver, Canada
Duration: 3 Sept 2015 → …

Conference

Conference4th ACM SIGPLAN Workshop on Functional High-Performance Computing, FHPC 2015
Country/TerritoryCanada
CityVancouver
Period3/09/15 → …

Keywords

  • Arrays
  • Data parallelism
  • Embedded language
  • GPGPU
  • Haskell
  • Streams

Fingerprint

Dive into the research topics of 'Functional array streams'. Together they form a unique fingerprint.

Cite this