Cilk benchmarks

Adrien Guatto

Overview

This directory contains some Cilk programs written for pedagogical purposes. To compile, you should have installed Tapir/LLVM as well as the Cilk runtime system.

$ make TAPIR_PATH=path_to_tapir CILKRT_PATH=path_to_cilkrt

Description

The Makefile generates a bunch of executables ending in .bin, including the following ones.

Benchmarking

The following commands benchmark sequential and parallel FYDK shuffling on arrays of size 10^8.

$ echo 100000000 > input.csv
$ ./random.bin -i input.csv -o /tmp/perm
$ ./shuffle-seq.bin -i /tmp/perm
$ ./shuffle-par.bin -i /tmp/perm

You may also want to have a look at the exp-* files as well as the benchmark.sh script. For instance, exp-msort-512MB.bench can be used to benchmark parallel sorts on medium-sized arrays.

$ ./benchmark.sh exp-msort-512MB.bench

See also

The Problem Based Benchmark Suite library.