In addition to the matrix, FFT, and PDE kernels, PARKBENCH includes four other kernel benchmarks.
  1. Embarrassingly parallel kernel. The PARKBENCH embarrassingly parallel kernel is taken from the NAS Parallel Benchmark suite. It provides an estimate of the upper achievable limits for floating point performance, i.e. the performance without significant interprocessor communication. In this kernel two independent Gaussian deviates are generated with mean zero and variance one. The benchmark problem is to count the number of these Gaussian deviates that lie in various square annuli around the origin.

  2. Conjugate gradient kernel. The PARKBENCH ci=onjugate gradient kernel is taken from the NAS Parallel Benchmark suite. In this kernel the inverse power method is used to find an estimate of the largest eigenvalue of a symmetric positive-definite sparse matrix with a random pattern of nonzeros. This code is typical of unstructured grid computations in that it tests irregular long distance communication, employing unstructured matrix-vector multiplication. The irregular communication requirement of this benchmark is evidently a challenge for all kinds of parallel computers.

  3. Large integer sort kernel. Although sorting has traditionally been thought of as of importance primarily in non-scientific computing, this operation is increasingly important in advanced scientific applications. In particle method fluid simulations, for example, sorting is the dominant cost. The PARKBENCH integer sort benchmark is taken from the NAS Parallel Benchmark suite. The kernel tests both integer computation speed and communication performance.In this benchmark, a vector of integer data is generated using the same pseudorandom number generator that is used in the embarrassingly parallel kernel. This data is initially mapped according to a particular scheme. The benchmark problem is to sort this data by the most efficient scheme for a particular architecture. Vendor-supplied sort routines may be used to perform the sort operation.

  4. Input/output. We propose a pencil and paper style benchmark - not tied to any particular parallel platform or application but just measuring some key fundamental I/O parameters of the system. The I/O performance is tested by writing and then reading different sized data sets to and from disk. The read and write buffer sizes are varied so that estimates of disk I/O start-up time, bandwidth and data transference times may be made.
These kernels may be obtained in the current distribution from the netlib repository.

PARKBENCH kernels page

Last Modified May 14, 1996