Alternative Computing Technologies (ACT) Lab

School of Computer Science

Georgia Institute of Technology

AxBench is a benchmark suite combined with the NPU compiler (NPiler) intended for use in approximate computing research. We include seven premade benchmarks with the necessary annotations to work with the NPU compilation workflow. The set of benchmarks covers both CPU and GPU applications. AxBench is written in C++ and CUDA, and aims to provide a set of representative applications from various domains to explore different aspects of approximate computing. AxBench is under development in the Alternative Computing Technologies (ACT) Laboratory, Georgia Institute of Technology.


Citation

If you use this work, please cite our paper published in IEEE Design and Test 2016 in which we developed and evaluated AxBench for approximate computing domain.

A. Yazdanbakhsh, D. Mahajan, P. Lotfi-Kamran, H. Esmaeilzadeh, "AXBENCH: A Multi-Platform Benchmark Suite for Approximate Computing", IEEE Design and Test, special issue on Computing in the Dark Silicon Era 2016.

Benchmark List

We are actively improving AxBench by adding more applications from different domains (e.g. Computer Vision, Data Analytics, Multimedia, Web Search, Finance, etc.). We are also working towards providing new features to this benchmark suite to enable researchers to study different aspects of approximate computing. The initial set of benchmarks are listed below.

GPU Applications (CUDA)
# Benchmark Name Domain Description Input Dataset Error Metric Language Developed by
1 Binarization Image processing Binarization of a color-pixel image Three 512x512 pixel images Image Diff (RMSE) C++/CUDA NVIDIA SDK 6.5
2 Black-Scholes Financial Analysis Mathematical model of a financial market 48,000 options Average Relative Error C++/CUDA NVIDIA SDK 6.5
3 Convolution Separable Image Processing A separable convolution filter of a 2D signal with a gaussian kernel 512x512-Pixel Image Image Diff (RMSE) C++/CUDA NVIDIA SDK 6.5
4 Inversek2j Robotics Inverse kinematics for 2-joint arm 300,000 (x,y) coordinates Average Relative Error C++/CUDA ACT-LAB
5 Jmeint 3D gaming Triangle intersection detection 100,000 random pairs of 3D triangle coordinates Miss Rate C++/CUDA Thomas Möller
6 Laplacian Image processing Image sharpening filter Three 512x512 pixel images Image Diff (RMSE) C++/CUDA NVIDIA SDK 6.5
7 Mean Filter Image Processing Convolution Filter for Noise Reduction 512x512-Pixel Image Image Diff (RSME) C++/CUDA NVIDIA SDK 6.5
8 Newton-Raphson Numerical Analysis Equation solver 8,192 cubic equations Image Diff (RMSE) C++/CUDA NVIDIA SDK 6.5
9 Sobel Image Processing Sobel edge detector 512x512 pixel color image Image Diff (RMSE) C++/CUDA NVIDIA SDK 6.5
10 Srad Medical Imaging Speckle Reducing Anisotropic Diffusion 512x512 pixel color image Image Diff (RMSE) C++/CUDA Rodinia
CPU Applications
# Benchmark Name Domain Description Input Dataset Error Metric Language Developed by
1 Black-Scholes Financial Analysis Mathematical model of a financial market 48,000 options Average Relative Error C++ PARSEC
2 FFT Signal Processing Radix-2 Colley-Tykey Fast Fourier 32,767 random floating point numbers Average Relative Error C++ ACT-LAB
3 Inversek2j Robotics Inverse kinematics for 2-joint arm 300,000 (x,y) random coordinates Average Relative Error C++ ACT-LAB
4 Jmeint 3D gaming Triangle intersection detection 100,000 random pairs of 3D triangle coordinates Miss Rate C++ Thomas Möller
5 JPEG encoder Compression JPEG encoding 512x512 pixel color image Image Diff (RMSE) C++ ACT-LAB
6 K-means Machine Learning K-means clustering 262,144 paris of random (r,g,b) values Image Diff (RMSE) C++ ACT-LAB
7 Sobel Image Processing Sobel edge detector 512x512 pixel color image Image Diff (RMSE) C++ ACT-LAB
Verilog Applications
# Benchmark Name Domain Description Input Dataset Error Metric Language Developed by
1 Brent-Kung Arithmetic Computation 32-bit Adder 1,000,000 32-bit integers Average Relative Error Verilog ACT-LAB
2 FIR Signal Processing 8-bit FIR Fitler 1,000,000 8-bit integers Average Relative Error Verilog ACT-LAB
3 Forwardk2j Robotics Forward kinematics for 2-joint arm 1,000,000 32-bit fixed-point values Average Relative Error Verilog ACT-LAB
4 Inversek2j Robotics Inverse kinematics for 2-join arm 1,000,000 32-bit fixed-point values Average Relative Error Verilog ACT-LAB
5 K-means Machine Learning K-means clustering 1024x1024 pixel color image Image Diff (RMSE) Verilog ACT-LAB
6 Kogge-Stone Arithmetic Computation 32-bit Adder 1,000,000 32-bit integers Average Relative Error Verilog ACT-LAB
7 Neural Network Machine Learning Feedforward neural network 1024x1024 pixel color image Image Diff (RMSE) Verilog ACT-LAB
7 Sobel Image Processing Sobel edge detector 1024x1024 pixel color image Image Diff (RMSE) Verilog ACT-LAB

Licence

The license is a free non-exclusive, non-transferable license to reproduce, use, modify and display the source code version of the Software, with or without modifications solely for non-commercial research, educational or evaluation purposes. The license does not entitle Licensee to technical support, telephone assistance, enhancements or updates to the Software. All rights, title to and ownership interest in Software, including all intellectual property rights therein shall remain in Georgia Institute of Technology.


Related Benchmarks

You may also be interested in ApproxBench from Sampa lab.


Contact

Please forward all your inqueries to: info@axbench.org


Sponsors