To exercise different parallel collection data structures and to evaluate the pC++ runtime system implementation, four benchmark programs covering a range of problem areas were used. These benchmarks are briefly described below. The results for the benchmarks on each port of pC++ follow.
BM1: Block Grid CG. This computation consists of solving the Poisson equation on a 2-dimensional grid using finite difference operators and a simple conjugate gradient method without preconditioning. It represents one type of PDE algorithm.
BM2: A Fast Poisson Solver. This benchmark uses FFTs and cyclic reductions along the rows and columns of a two dimensional array to solve PDE problems. It is typical of a class of CFD applications.
BM3: The NAS Embarrassingly Parallel Benchmark.
Four NAS benchmark codes have been translated to pC++;
we report on two.
The BM3 program generates
complex pairs of uniform (0, 1) random numbers and gathers
a small number of statistics.
BM4: The NAS Sparse CG Benchmark.
A far more interesting benchmark in the NAS suite is the random
sparse conjugate gradient computation.
This benchmark requires the repeated solution to ,
where
is a random sparse matrix.