The Parallel Ultra-Light Systolic Array Runtime (PULSAR) project provides a dataflow programming model inspired by systolic arrays, which were popularized by Hsiang-Tsung Kung and Charles E. Leiserson. PULSAR Runtime (PRT) offers a complete Application Programming Interface (API) for building and executing a Virtual Systolic Array (VSA)—a collection of Virtual Data Processors (VDPs) connected with channels and communicating using packets.
The runtime supports distributed memory systems with multicore processors and relies on POSIX Threads (aka Pthreads) for intra-node multithreading, and on the Message Passing Interface (MPI) for inter-node communication. The runtime also supports multiple NVIDIA GPU accelerators, in each distributed memory node, using the Compute Unified Device Architecture (CUDA) platform
Find out more at https://bitbucket.org/icl/pulsar