NDP benchmarks ============== This directory contains several NDP benchmarks: concomp - connected components in undirected graphs dotp - dot product of two vectors primes - sieve of Eratosthenes smvm - sparse matrix/vector multiplication Options ------- The following options are common to all benchmarks: --runs=N Repeat each benchmark N times -r N --threads=N Use N threads -t N --seq=N Simulate N threads -s N --algo=ALGORITHM Use the specified algorithm (if the benchmark -a ALGORITHM implements multiple algorithms) --verbose=N Set the verbosity level -v N --help Show a help screen Running benchmarks ------------------ For parallel benchmarks, you usually want to use benchmark --threads= --runs= +RTS -N Here, N is the number of threads to use and R the number of times the benchmark should be repeated (you probably want something between 3 and 10). The output will look as follows: ....: wall_best/cpu_best wall_avg/cpu_avg wall_worst/cpu_worst Here, wall_{best|avg|worst} is the best, average and worst wall-clock time, respectively; cpu_{best|avg|worst} is the CPU time. Note that for parallel benchmarks on a multiprocessor, the wall-clock time will typically decrease with more threads whereas the CPU time will slightly increase. For sequential benchmarks, the number of threads does not have to be specified, i.e., --threads and +RTS -N can be omitted. At higher verbosity levels, more information (in particular, the timings of the individual runs) will be displayed.