PULSAR provides a dataflow programming model inspired by systolic arrays. The PULSAR Runtime (PRT) offers a complete API for building and executing a Virtual Systolic Array (VSA), which is a collection of Virtual Data Processors (VDPs), connected with data channels, and communicating via packets.
PULSAR offers a clear programming model, based on sound dataflow principles, and expressed through a compact Application Programming Interface (API). PULSAR automates communication and data-driven runtime scheduling. PULSAR's promise is to deliver unprecedented scalability on existing Petascale systems and upcoming Exascale systems.
The runtime supports distributed memory systems with multicore processors, and relies on POSIX Threads (a.k.a. Pthreads) for intra-node multithreading, and on the Message Passing Interface (MPI) for inter-node communication. Support for hardware accelerators, such as Nvidia GPUs, AMD GPUs, and Intel Xeon Phi coprocessors, is planned in near future.