pi-par: a dependently-typed parallel language with algorithmic skeletons

Christopher Brown*, Adam D. Barwell

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Algorithmic skeletons are an effective, pattern-based approach for parallelising software. However, despite implementations for a range of languages and paradigms, there is currently no support for dependently-typed languages, such as Idris, Agda and Coq. Such languages promote safer software via the ability to express logical properties and specifications, along with their proofs, directly in code. In this paper, we present pi-par, a prototype dependently-typed language based on Idris, with message-passing concurrency and built-in Pipeline and Task Farm skeletons. We evaluate pi-par on a series of standard Task Farm and Pipeline examples, achieving speedups of up to 23.35 × on a 28-core machine.
Original languageEnglish
Article number11
Number of pages23
JournalInternational Journal of Parallel Programming
Volume53
Issue number2
Early online date25 Feb 2025
DOIs
Publication statusE-pub ahead of print - 25 Feb 2025

Keywords

  • Dependent types
  • Idris
  • Parallelism
  • Concurrency
  • Skeletons
  • Farm
  • Pipeline
  • Erlang

Fingerprint

Dive into the research topics of 'pi-par: a dependently-typed parallel language with algorithmic skeletons'. Together they form a unique fingerprint.

Cite this