Skip to content

Conversation

@meteorfox
Copy link
Owner

Adds GAP benchmarking suite to Benchpress

Actual output of running benchmark through Benchpress:

@adhanotia Please review, but don't merge.

$ python3.6 ./benchpress_cli.py -b benchmarks.yml -j jobs/jobs.yml run gapbs_tc
Will run 1 job(s)
Running "gapbs_tc": GAP tc benchmark
{
  "average_time": 4.93834,
  "build_time": 4.6289,
  "generate_time": 0.81266,
  "trial_time": 4.93834
}
$ python3.6 ./benchpress_cli.py -b benchmarks.yml -j jobs/jobs.yml run gapbs_bc
Will run 1 job(s)
Running "gapbs_bc": GAP bc benchmark
{
  "average_time": 1.83989,
  "build_time": 4.41607,
  "generate_time": 0.72591,
  "trial_time": 1.83989
}
$ python3.6 ./benchpress_cli.py -b benchmarks.yml -j jobs/jobs.yml run gapbs_bfs
Will run 1 job(s)
Running "gapbs_bfs": GAP bfs benchmark
{
  "average_time": 0.05413,
  "build_time": 4.53836,
  "generate_time": 0.77409,
  "trial_time": 0.05413
}

@meteorfox meteorfox requested a review from adhanotia June 22, 2018 02:16
Copy link
Collaborator

@adhanotia adhanotia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

cd ../../
rm -rf build

echo "GAP benchmark suite installed into ${BENCHMARKS_DIR}"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are you providing the compile commands for the 3 gap benchmarks ?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The make command on line 16 builds all benchmarks. By default it compiles with -O3 flag, I think in the script you shared with me you compiled with -O2. Do you want to switch to -O2 ?

scale-factor: 1
runtime: 1

- benchmark: gapbs_bc
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This benchmark uses OpenMP. Do you think we should let it default OMP threads or we should specify that as one of the benchmark inputs?

Copy link
Owner Author

@meteorfox meteorfox Jun 22, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Today, the user can set the OMP_NUM_THREADS variable in their shell, and the benchmark should pick it up.

Example:

$ OMP_NUM_THREADS=1 python3.6 ./benchpress_cli.py -b benchmarks.yml -j jobs/jobs.yml run gapbs_bfs
Will run 1 job(s)
Running "gapbs_bfs": GAP bfs benchmark
{
  "average_time": 0.09154,
  "build_time": 8.41545,
  "generate_time": 1.42859,
  "trial_time": 0.09154
}

But to be more explicit, we could potentially add support for environment variables, perhaps something like:

benchmark: gapbs_bc
  name: gapbs_bc
  description: GAP bc benchmark
  env:
    OMP_NUM_THREADS: 4
  args:
    - -u 21
    - -n 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants