Group Home

ALP Home







The ALPBench Benchmark Suite (Version 1.0)

Media applications are important for general-purpose processors, but are becoming increasingly complex with high performance demands. Future processors can potentially meet these demands by exploiting various levels of parallelism in these applications.

ALPBench consists of a set of parallelized complex media applications gathered from various sources, and modified to expose thread-level and data-level parallelism. The applications are:

Key Features

  • Multithreaded with POSIX threads
  • 128-bit SSE2 media instructions
  • Some algorithmic enhancements
  • Paper analyzing parallelism and performance


Multithreaded versions can be used on any system that supports POSIX threads. SSE2 instructions can be used on Intel processors supporting SSE2 instructions.


ALPBench was developed as part of the ALP project consisting of:

  • Man-Lap (Alex) Li
  • Ruchira Sasanka
  • Sarita V. Adve
  • Yen-Kuang Chen (Intel)
  • Eric Debes (Intel)

Man-Lap (Alex) Li and Ruchira Sasanka implemented the modifications for ALPBench.

Funding Sources

The ALP project is/was supported in part by a gift from Intel, an equipment donation from AMD, and the National Science Foundation under Grant No.CCR-0209198 and EIA-0224453. Ruchira Sasanka was supported by an Intel graduate fellowship.

License Agreement

ALPBench is available at no cost under an open source license. Please note that ALPBench is restricted by the licenses of the original applications from which it is derived - these are consistent with the additional terms of our license except that the IDCT function used in MPGenc and MPGdec is governed by the more restrictive GNU GPL. Please see the links in our license for more details.

If you redistribute ALPBench in any way, we request that you let us know. We will be happy to include your URLs on our web site.


Please register to download ALPBench.


2/20/2009: If you downloaded Sphinx3 prior to Feb 20, 2009, please download this patch to fix a data race bug in src/threading.c. To apply the patch, copy this file to Sphinx3/src and do "patch -p0 < patch_file". We would like to thank Pramod Joisha for pointing this out.

More Information

For more information, see the ALP home page and Power and Reliability Aware Systems home page. To join the ALPBench mailing list, to provide feedback on ALPBench, or to contribute to future ALPBench releases, please send email to alpbench AT cs.uiuc.edu.