ADBench
ADBench copied to clipboard
Pipeline interfaces should be well specified
We have a pipeline that looks a bit like this
- CMake
- accepts a complicated family of options
- builds some dependencies
- creates a
build.ninja
file to tell ninja how to build the tools
- ninja
- builds binaries of tools
- puts them somewhere
-
run-all.ps1
- runs the tools to calculate benchmarks
- the timing information is written to specially-named files
-
plot_graphs.py
- looks for the specially-named timing files
- generates graphs
- puts the graphs somewhere
It would be great to have a specification of each step of the pipeline. What are the arguments it accepts? Where does it have to be run?[1] What are its outputs? Where are files placed and what is their specification?
[1] Ideally any tool should be able to be run in any directory. It shouldn't decide where to read or write files based on its current working directory.
- CMake: https://github.com/awf/ADBench/blob/master/docs/BuildAndTest.md
-
run-all.ps1
: https://github.com/awf/ADBench/blob/master/docs/GlobalRunner.md -
plot-graphs.py
: https://github.com/awf/ADBench/blob/master/docs/PlotCreating.md
This covers most of my request. I'm leaving this issue open so I can go through later in finer detail to check that everything is covered.