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.