
TL;DR
The paper introduces Space, a spatial programming language designed for the Synchronic A-Ram model, enabling efficient parallel computation on reconfigurable hardware like FPGAs, with a focus on modularity, determinism, and explicit resource management.
Contribution
It presents Space as a novel language for exploiting massive parallelism in the Synchronic A-Ram model, including a compiler and simulator for reconfigurable hardware implementation.
Findings
Developed a Space compiler transforming programs into Synchronic A-Ram machine code.
Demonstrated Space's modular, deterministic, and referentially transparent features.
Proposed a new approach to parallel computing addressing resource contention and verification.
Abstract
Space is a circuit oriented, spatial programming language designed to exploit the massive parallelism available in a novel formal model of computation called the Synchronic A-Ram, and physically related FPGA and reconfigurable architectures. Space expresses variable grained MIMD parallelism, is modular, strictly typed, and deterministic. Barring operations associated with memory allocation and compilation, modules cannot access global variables, and are referentially transparent. At a high level of abstraction, modules exhibit a small, sequential state transition system, aiding verification. Space deals with communication, scheduling, and resource contention issues in parallel computing, by resolving them explicitly in an incremental manner, module by module, whilst ascending the ladder of abstraction. Whilst the Synchronic A-Ram model was inspired by linguistic considerations, it is…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsInterconnection Networks and Systems · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
