Innovative Computing Laboratory, University of Tennessee

 ______ _______ _____   _______ _______ ______
|   __ \   |   |     |_|     __|   _   |   __ \
|    __/   |   |       |__     |       |      <
|___|  |_______|_______|_______|___|___|___|__|

Parallel Ultra Light Systolic Array Runtime

Introduction

PULSAR provides a dataflow programming model inspired by systolic arrays. 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 (a.k.a. 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.

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).