The Unified GraphIt Compiler framework (UGC) compiles a domain-specific language for graph processing to novel architecturs such as Swarm. The compiler is able to reuse code across architectures and can automatically unlock more parallelism than prior approaches by using Swarm's speculative execution to avoid synchronization overheads.
Compiling ordinary sequential C and C++ programs to run in parallel on Swarm. Challenging applications are scaled to tens of cores, without requiring the programmer to indicate what code is safe to parallelize.
An infrastructure for exploring the design space of deep neural network (DNN) accelerators, including an expressive and concise representation of hardware topologies and choices about dataflow orchestration, as well as efficient modeling of performance and energy that enables exploring trade-offs by searching through large spaces of potential accelerator designs.
Extending Swarm's hardware and software mechanisms to enable speculative and non-speculative tasks to coordinate on shared data structures, to enable unrestricted tasks, and to allow expert programmers to safely implement efficient and scalable system services, such as memory allocation, within speculative tasks, improving performance by up to 69×.
A new execution model that enhances the Swarm hardware architecture, a general-purpose multicore architecture that makes it easy to exploit more parallelism in many applications. Outperforms prior systems by up to 88×.