A Suite of National Defense-Inspired Benchmarks

MilSpec is a set of open-source benchmarks targeted at national defense applications – but also useful for the broader accelerator design space. These benchmarks focus on end-to-end applications that exercise a wide range of signal processing, communications, image processing/computer vision, knowledge formation, and other capabilities.


Newly Updated!

Available Now
Benchmark Functions Getting Started Code/Data External Source/Docs Updated

Synthetic Aperture Radar (SAR)

Synthetic Aperture Radar constructs images based on data from a moving radar platform (e.g., mounted on an aircraft to scan a large ground region). This benchmark tests an end-to-end sensor processing pipeline, forming complete images from synthetically generated radar returns and then identifying objects in those returns.

FFT, image processing, knowledge formation, data retrieval Getting Started with SAR SAR Code/Data 02/04/2020

Real-Time Object Detection + Tracking (RTTrack)

This benchmark uses a visual processing system to identify and track multiple human actors simultaneously in a variety of recorded video clips.

Computer vision, multiple object tracking Getting Started with RTTrack RTTrack Code/Data 01/21/2020

Linear Assignment

Assignment problems use combinatorial optimization to find the most efficient mapping between two sets - for instance, when mapping a large number of tasks to agents that will perform them, as might be required with autonomous cooperative swarms of robots. This benchmark runs a synthetic test of the auction, Hungarian, and Jonker-Volgenant algorithms for finding such mappings.

Combinatorial optimization, linear algebra, matrix math Getting Started with LAP Linear Assignment Code/Data 03/16/2020

Pulse-Doppler Radar

Pulse-Doppler radar transmits a series of radar pulses and then detects object motion per the Doppler effect. It is commonly used for tracking airborne targets or in weather applications. This benchmark processes simulated radar returns with a four-step pipeline to find Doppler peaks and detect object positions/velocities.

Pulse compression, 3-Pulse cancellation, Doppler computation, FFT Getting Started with Pulse-Doppler Radar Pulse-Doppler Code/Data 02/04/2020

Epipolar Geometry

Epipolar geometry defines the relationships between points across multiple perspectives on a three-dimensional scene. This benchmark computes corresponding points in pairs of images using multiple user-selectable algorithms.

Matrix math, feature detection, k-nearest-neighbors, fundamental matrix estimation, epipole determination/epipolar line calculation Getting Started with Epipolar Geometry Epipolar Geometry Code/Data 01/21/2020

Optical Flow

Optical flow is a means of detecting the relative motion of a scene and an observer. This benchmark identifies points of interest (whose motion can be easily tracked) in an image, then identifies the corresponding points in a second image and estimates relative motion.

Computer vision/image processing, corner detection, Lucas-Kanade algorithm Getting Started with Optical Flow Optical Flow Code/Data 02/04/2020

Matched Filtering

Matched filtering can improve an effective signal-to-noise ratio by "matching" a known signal template to an unknown input signal expected to follow that template. This test inputs a signal with configurable random noise, applies a matched filter, and then measures the output error rate and compute time.

Matrix Math, convolution, correlation, 16QAM encode/decode Getting started with Matched Filtering Matched Filter Code/Data 03/16/2020

Wavelet Processing

Wavelets are signal pulses, with finite duration, based on assorted mathematical functions. They are useful for assorted signal and image processing applications e.g. noise reduction; this test evaluates the performance of a discrete wavelet transform algorithm on denoising a set of input images (or synthetic vectors).

Discrete wavelet transform, matrix math, linear algebra, convolution, decomposition Getting started with Wavelets Wavelets Code/Data 03/16/2020
Coming Soon
Benchmark Functions Getting Started Code/Data External Source/Docs Updated

GNU Radio

GNU Radio is an open-source framework for software-defined radio (SDR). This benchmark evaluates the performance of an SDR receiver with DSP, decoding, and decryption steps, from the raw radio signal to the final audio output.

SDR, FFT, DSP, ECC, cryptography 01/21/2020


A highly configurable benchmark for emulating end-to-end IoT analytics pipelines, including device-side kernels, server-side processing, and communication protocols. It includes several pluggable processing modules for different IoT applications, and reports aggregate and distributions of metrics (e.g. service latency and processing rate).

device-server comms, CoAP, MQTT, Statistics, transformation, training, analytics 01/21/2020

MUltiple SIgnal Classification (MUSIC)

The MUSIC algorithm uses matrix math and linear algebra to perform direction-of-arrival estimation based on signals received by an array of antennas. This benchmark simulates a signal as received by such an antenna array, then measures the MUSIC algorithm compute performance and deviation from ground-truth signal direction data.


Passive Radar

Passive radar involves detecting objects using receive-only radar, wherein the receiver derives information from radio signals found in the surrounding environment. This benchmark tests such a receiver with simulated signal data and synthetically inserted objects to detect.