Пример #1
0
int main(int argc, char** argv) {

  benchmark_type bench;
  
  auto init = [&] {
    pasl::util::cmdline::argmap<std::function<benchmark_type()>> m;
    m.add("fib",                  [&] { return fib_bench(); });
    m.add("mfib",                 [&] { return mfib_bench(); });
    m.add("map_incr",             [&] { return map_incr_bench(); });
    m.add("reduce",               [&] { return reduce_bench(); });
    m.add("scan",                 [&] { return scan_bench(); });
    m.add("mcss",                 [&] { return mcss_bench(); });
    m.add("dmdvmult",             [&] { return dmdvmult_bench(); });
    m.add("merge",                [&] { return merge_bench(); });
    m.add("quicksort",            [&] { return sort_bench(); });
    m.add("mergesort",            [&] { return sort_bench(); });
    m.add("mergesort_seqmerge",   [&] { return sort_bench(); });
    m.add("cilksort",             [&] { return sort_bench(); });
    m.add("graph",                [&] { return graph_bench(); });
    m.add("duplicate",            [&] { return duplicate_bench(); });
    m.add("ktimes",               [&] { return ktimes_bench(); });
    

    m.add("map_incr_ex",          [&] { return map_incr_bench(true); });
    m.add("sum_ex",               [&] { return reduce_bench(reduce_plus_ex); });
    m.add("max_ex",               [&] { return reduce_bench(reduce_max_ex); });
    m.add("reduce_ex",            [&] { return reduce_bench(reduce_ex); });
    m.add("duplicate_ex",         [&] { return duplicate_bench(true); });
    m.add("ktimes_ex",            [&] { return ktimes_bench(true); });
    m.add("filter_ex",            [&] { return filter_bench(); });
    m.add("mergesort_ex",         [&] { return sort_bench(); });
    
    bench = m.find_by_arg("bench")();
    bench_init(bench);
  };
  auto run = [&] (bool) {
    bench_run(bench);
  };
  auto output = [&] {
    bench_output(bench);
  };
  auto destroy = [&] {
    bench_destroy(bench);
  };
  pasl::sched::launch(argc, argv, init, run, output, destroy);
}
Пример #2
0
int main(int argc, char** argv) {

  benchmark_type bench;

  auto init = [&] {
    pasl::util::cmdline::argmap<std::function<benchmark_type()>> m;
    m.add("reduce",               [&] { return reduce_bench(); });
    m.add("mergesort",            [&] { return mergesort_bench(); });
    m.add("bfs",                  [&] { return bfs_bench(); });

    bench = m.find_by_arg("bench")();
    bench_init(bench);
  };
  auto run = [&] (bool) {
    bench_run(bench);
  };
  auto output = [&] {
    bench_output(bench);
  };
  auto destroy = [&] {
    bench_destroy(bench);
  };
  pasl::sched::launch(argc, argv, init, run, output, destroy);
}