\subsubsection*{\bf PACLIB}

\begin{itemize}
 \item {\bf Name:} PACLIB (Version 1.18)

 \item {\bf Location:} \verb+/usr/local/paclib+

 \item {\bf Type:} Parallel System for Computer Algebra.

 \item {\bf Characterization:} PACLIB consists of a compiler for a parallel
programming language (based on C) and a library of sequential and parallel
computer algebra algorithms (based on SACLIB). The user can implement parallel
algorithms and monitor their dynamic behavior using the visualization tools
\verb+pacgraph+ and \verb+pacutil+.

 \item {\bf Functions:} The PACLIB compiler is invoked as \verb+pacc+ (no
optimization) or \verb+paco+ (optimization) or \verb+pacd+ (debugging) with
the same syntax as the GNU C compiler. The final program can be called with
several runtime options e.g.

\begin{verbatim}
  pacc test.c -o prog
  prog +p16 +N1000000 +t1
\end{verbatim}

The option \verb-+p- defines the number of processors, \verb-+N- defines the
number of heap words, and \verb-+t1- triggers the generation of profiling
information that is written into a file \verb+pac.dat+. This information can
be analyzed by the tools \verb+pacgraph+ and \verb+pacutil+. The commands

\begin{verbatim}
  pacgraph 250 250 <pac.dat >grap.tex
  pacutil  250 250 <pac.dat >util.tex
\end{verbatim}

generate two \LaTeX\ pictures of size 250 times 250 point that display
the activity of the tasks and the utilization of the processors, respectively.

 \item {\bf Manuals:} PACLIB User Manual (RISC-Linz Technical Report 92-32 and
ACPC Technical Report ACPC/TR 92-9).
 
\end{itemize}
