ADBench icon indicating copy to clipboard operation
ADBench copied to clipboard

Pipeline interfaces should be well specified

Open tomjaguarpaw opened this issue 5 years ago • 1 comments

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.

tomjaguarpaw avatar May 15 '19 16:05 tomjaguarpaw

  • 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.

tomjaguarpaw avatar Dec 23 '19 11:12 tomjaguarpaw