Introduction

PULSAR provides a dataflow programming model inspired by systolic arrays. PULSAR Runtime (PRT) offers a complete API for building and executing a Virtual Systolic Array (VSA) - a collection of Virtual Data Processors (VDPs) connected with channels and communicating via packets.

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.

The runtime is accompanied by a handful of examples, coming mostly from the field of dense linear algebra.

Documentation

The package comes with the following documentation:

License

PULSAR license is a BSD-style permissive free software license (properly called “modified BSD”). It allows proprietary commercial use, and for the software released under the license to be incorporated into proprietary commercial products.

Works based on the material may be released under a proprietary license as long as PULSAR license requirements are maintained, as stated in the LICENSE file.

In contrast to copyleft licenses, like the GNU General Public License, PULSAR license allows for copies and derivatives of the source code to be made available on terms more restrictive than those of the original license.

Funding

Core funding for PULSAR is provided by the National Science Foundation (NSF).

Cycles

Computing cycles for PULSAR are mainly provided by the National Institute for Computational Science (NICS).