SPEC ACCEL Benchmark Description File

Benchmark Name


Benchmark Author

University of Virginia

Benchmark Program General Category

Structured Grid, Image Processing

Benchmark Description

SRAD (Speckle Reducing Anisotropic Diffusion) [1] is a diffusion method for ultrasonic and radar imaging applications based on partial differential equations (PDEs). It is used to remove locally correlated noise, known as speckles, without destroying important image features. SRAD consists of several pieces of work: image extraction, continuous iterations over the image (preparation, reduction, statistics, computation 1 and computation 2) and image compression. The sequential dependency between all of these stages requires synchronization after each stage (because each stage operates on the entire image). SRAD is also uses as one of the initial stages in the Heart Wall application [2].

Input Description

The benchmark accepts on the command line the number of iterations, the lambda factor to use, the number of rows and the number of columns of the image. The starting image is presented in the file image.pgm.

Output Description

The benchmark produces an image which is used for validation.

The output file srad.out contains detailed timing information about the run. It also shows which device was selected along with what devices where available to OpenCL.

Programming Language


Known portability issues




[1] L. G. Szafaryn, K. Skadron, and J. J. Saucerman. "Experiences Accelerating MATLAB Systems Biology Applications." In Proceedings of the Workshop on Biomedicine in Computing: Systems, Architectures, and Circuits (BiC) 2009, in conjunction with the 36th IEEE/ACM International Symposium on Computer Architecture (ISCA), June 2009.

[2] Y. Yu, S. Acton, Speckle reducing anisotropic diffusion, IEEE Transactions on Image Processing 11(11)(2002) 1260-1270.

Last Updated: February 3, 2014