Parallaxis-III - A Structured Data-Parallel Programming Language
Description
Parallaxis is a structured programming language for data-parallel
programming (SIMD systems), developed by Thomas Bräunl in 1989.
The language is based on sequential Modula-2, but extended
by machine-independent parallel constructs. In Parallaxis
an abstraction is achieved by declaring a processor configuration in
functional form, specifying number, arrangement, and connections between
processors.
With these "virtual processors and connections", an application
program can be constructed independent of the actual computer hardware.
We believe this results in more readable and understandable parallel programs.
- Parallaxis FTP-Server for copying the Parallaxis system
- Parallaxis language description
(compressed PostScript, 165KB)
- A small sample Parallaxis program
- Another Parallaxis program
- MPEG-animation created from the above program (500KB)
- Information about the latest
version of Parallaxis
- English book:
Bräunl: Parallel Programming, Prentice-Hall, 1993
- English book:
Bräunl: Parallel Image Processing, Springer-Verlag, 2001
- German book:
Bräunl: Parallele Programmierung, Vieweg-Verlag, 1993
- German book:
Bräunl: Parallele Bildverarbeitung, Addison-Wesley, 1995
- German book:
Bräunl: Massiv parallele Programmierung mit dem Parallaxis-Modell,
Springer-Verlag, Informatik-Fachberichte, 1990
- Russian book:
Bräunl: Parallel Programming, Vyschshaya Shkola Publishers, Kiev, 1997
Compiler
The Parallaxis system comprises compilers for sequential and parallel
computer systems. Use
man p3
to find out more about it:
NAME
p3 - Parallaxis-III User Interface
SYNOPSIS
p3 { options } [ file ] ...
Debugger
The Parallaxis debugger (p3gdb and xp3gdb) is an extension to the
gnu gdb and xgbd debugger.
It behaves as a Parallaxis source level debugger with all usual features
of the gnu debugger, e.g. breakpoints, single steps, printing data,
plus two parallel extensions.
Parallel Applications
The Parallaxis system comprises a number of sample software packages
available via
ftp.
The current areas are:
- basic: introductory examples
- diff-eq: solution of differential equations
- genetic-algs: parallel genetic algorithms
- graphics: basic graphics functions, window op., area filling, etc. in C
- neural-nets: parallel neural networks
- numerical: sorting and systems of linear equations
- open: demonstration of the open vector concept
- scripts: auxiliary unix scipts for compilation, library generation
- simulation: head propagation, voting behavior, traffic jams
- stereo: stereo vision algorithms
- storage: dynamic data structures
- strings: integer - string conversion
- vision: major library of parallel image processing routines
- x-window: sample programs using graphics library for X windows
The sequential version runs on almost all Unix systems: Sun SPARCstation
(SUN-OS, Solaris), DECstation, HP 9000, IBM RS6000, SGI Iris, IBM-PC with linux.
There are parallel versions for MasPar MP-1, MP-2, Workstations clusters
(using PVM) and Intel Paragon
(SPMD mode).
Parallaxis-III has been implemented using the GMD Compiler Generation Toolkit
by Eduard Kappel, Hartmut Keller, Harald Lampke, Jörg Stippa, and
Jürgen Wakunda, under direction of Thomas Bräunl.
Thomas Bräunl