Innovative Computing Laboratory, University of Tennessee

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

Parallel Ultra Light Systolic Array Runtime

To build the PULSAR Runtime (PRT) go to the prt/ directory and type “make”. You can modify the make.inc file to change the compiler and the compilation flags. If you are building the PRT with multithreading support only (no MPI, no CUDA), your make.inc may look like this:

CC      = gcc
CFLAGS  = -O3

To build PRT with MPI support, add -DMPI to the compilation flags, and define the MPI variable pointing to the location of MPI in your system. (The makefile expects to find mpi.h in $(MPI)/include/). If you are building PRT with MPI support, but no CUDA, your make.inc may look like this:

CC      = gcc
CFLAGS  = -O3 -DMPI
MPI     = /opt/openmpi

To build PRT with CUDA support, add -DCUDA to the compilation flags, and define the CUDA variable pointing to the location of CUDA in your system. If you are building PRT with CUDA support, but no MPI, your make.inc may look like this:

CC      = gcc
CFLAGS  = -O3 -DCUDA
CUDA    = /usr/local/cuda

If you are building PRT with support for both MPI and CUDA, your make.inc may look like this:

CC      = gcc
CFLAGS  = -O3 -DMPI -DCUDA
MPI     = /opt/openmpi
CUDA    = /usr/local/cuda

Typical values for CC are: gcc, icc, or pgcc, to indicate GNU, Intel, or PGI compilers, respectively. In most supercomputing environments, either cc or mpicc should be used, as an alias for invoking the right compiler (or cross-compiler), with the right environment settings. Providing paths to MPI and CUDA can be skipped, if they are already in your $PATH. On many supercomputing systems the easiest way to set up the environment is to use the module software package.

Make compiles all source files in the prt/ directory and creates the libprt.a library. Include the prt/prt.h file in your source code and link with prt/libprt.h. If you are using MPI, you also have to link with the MPI library by putting “-lmpi” in your link line. If you are using CUDA, you also have to link with the CUDA libraries by putting “-lcudart -lcuda” in your link line. Post to the PULSAR User Forum to seek additional help with the installation process: http://icl.utk.edu/pulsar/ → User Forum → Installation