## Ostrich Benchmark Suite

### Overview

Ostrich is a benchmark suite developed in the Sable Lab at McGill University with the objective of studying the performance of JavaScript and WebCL for numerical code. Version of the benchmarks are available in C/C++, JavaScript, OpenCL and WebCL. The current list of supported benchmarks is below:

- back-prop: a machine-learning algorithm that trains the weights of connecting nodes on a layered neural network
- bfs: a breadth-first search algorithm that assigns to each node of a randomly generated graph its distance from a source node
- crc: an error-detecting code which is designed to detect errors caused by network transmission or any other accidental error
- fft: the Fast Fourier Transform (FFT) function is applied to a random data set
- hmm: a forward-backward algorithm to find the unknown parameters of a hidden Markov model
- lavamd: an algorithm to calculate particle potential and relocation due to mutual forces between particles within a large 3D space
- lud: a LU decomposition is performed on a 1024 x 1024, randomly-generated matrix
- nqueens: an algorithm to compute the number of ways to put down n queens on an n x n chess board where no queens are attacking each other
- nw: an algorithm to compute the optimal alignment of two protein sequences
- page-rank: the algorithm famously used by Google Search to measure the importance of a web site
- spmv: an algorithm to multiply a randomly-generated sparse matrix with a randomly generated vector
- srad: a diffusion method for ultrasonic and radar imaging applications based on partial differential equations

### People

### Publications

- Technical Report: WebAssembly and JavaScript Challenge: Numerical program performance using modern browser technologies and devices
- Technical Report: Using JavaScript and WebCL for Numerical Computations: A Comparative Study of Native and Web Technologies

### Software

The code is available at the Official Github Repo.

More information can be found on the wiki page.