These benchmarks are taken from the Barcelona OpenMP Tasking Suite (BOTS),
v1.1 (http://nanos.ac.upc.edu/content/barcelona-openmp-task-suite). They were
compiled with the ROSE source-to-source compiler (http://www.rosecompiler.org)
to outline the OpenMP operations into XOMP_* function calls, which could be
mapped onto Qthread operations. The input files are not included here, mostly
for size reasons. You don't need them for all of the benchmarks, but for those
that do, you can go download the original benchmark suite and use those.

Not all of the benchmarks are included here, in large part because not all of
them compile cleanly with ROSE. You may also notice that there are lots of
compiler warnings when building these. I had the choice between fixing them,
and leaving them; I chose to make this code more closely match what ROSE
outputs rather than tidy them up.

The benchmarks that do not require input files are:

FFT:
| This is a Fast Fourier Transformation benchmark, using the spectral method,
| based on a Cilk example algorithm.
| Benchmark runs are often done with the arguments "-n 67108864"

Fib:
| This is a basic fibbonacci implementation.
| Benchmark runs are often done with the arguments "-n 50".

NQueens:
| Finds solutions of the N Queens problem, based on a Cilk example algorithm.
| Benchmark runs are often done with the arguments "-n 14".

Sort:
| Uses a mixture of sorting algorithms to sort a vector, based on a Cilk
| example algorithm.
| Benchmark runs are often done with the arguments "-n 134217728 -y 32768 -a 32768".

SparseLU:
| Computes the LU factorization of a sparse matrix. There are two versions of
| this benchmark, one that uses OpenMP parallel loops to do the work
| (compatible with older OpenMP compilers), and one that uses tasks. The task
| version is slightly more efficient than the parallel loop version.
| Benchmark runs are often done with the arguments "-n 100 -m 100".

Strassen:
| Computes a matrix multiply with Strassen's method, based on a Cilk example
| algorithm.
| Benchmark runs are often done with the arguments "-n 8192 -y 64".

The benchmarks that DO require input files are:

Alignment:
| Aligns sequences of proteins, from AKM. There are two versions of this
| benchmark, one that uses OpenMP parallel loops to do the work (compatible
| with older OpenMP compilers), and one that uses tasks. The two versions are
| approximately identical in efficiency.
| Benchmark runs are often done with the arguments "-f prot.100.aa". This
| requires the input file "prot.100.aa".

Health:
| Simulates a country health system, from Olden.
| Benchark runs are often done with the arguments "-f large.input". This
| requires the input file "large.input".
