Glasgow Parallel Haskell Algorithms Repository

The ethos

Note: The example programs in the parallel nofib suite are rather old, and many not updated to work with GUM 4.xx or GUM 5.xx. To find test programs for these more recent implementations of GpH download the following bundle: example programs for GUM 4.06 onwards. Check Makefile.boot for basic documentation and build a program with e.g. make parfib_mp.

This repository of programs for Glasgow Parallel Haskell has been inspired by the nofib benchmark suite for the Glasgow Haskell Compiler. But a note of warning: the programs herein are not state-of-the-art benchmarks, and may not even be parallelised to give the best performance. The purpose of this code repository is to provide a suite of programs to be used for experimentation into parallelism. Many of the algorithms have been transcribed from other programming language suites.

A nofib suite subdivides programs into the following categories:

The GHC nofib suite and the ideas behind it is presented in more detail in the following paper:
The nofib Benchmark Suite of Haskell Programs
Will Partain, In Functional Programming, Glasgow 1992, J Launchbury and PM Sansom, eds., Workshops in Computing, Springer Verlag, 195-202.

Download

You can either download the individual programs or you can download everything:

nofib.tar.gz (287k)

Imaginary subset

parfac
Parallel factorial.
parfib
Parallel nfib.
quicksort
Parallel quicksort.
sieve
A parallel version of Eratosthenes algorithm for finding prime numbers.
squares
Parallel sum of squares.

Spectral subset

alpha-beta
Finds the next move in the game tic-tac-toe.
barnes-hut
An algorithm for the N-body problem.
canny
A simple edge detector.
cfd
Computational fluid dynamics calculations.
fft
A fast Fourier transformation algorithm.
prsa
Parallel RSA encryption algorithm.
quickhull
An algorithm for finding a convex hull.
ray
A simple ray tracer for polygons.
soda
Searches for words in a grid of letters.
  • Runciman and Wakeling (version 6).
  • Strategies version.
spheres
A simple ray tracer for spheres.

Real subset

circuit
A data-parallel digital circuit simulator.

Other parallel code repositories


GHC | GPH | GranSim

Page last modified: 1999/02/25