mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-03-14 20:27:24 +00:00
Documentation overhaul.
Revamp README, split into multiple files. Add docs on CLI. Add `--help` and `--help-axis`.
This commit is contained in:
69
docs/cli_help_axis.md
Normal file
69
docs/cli_help_axis.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Axis Specification
|
||||
|
||||
The `--axis <axis spec>` option redefines the values in a benchmark's axis. It
|
||||
applies to the benchmark created by the most recent `--benchmark` argument, or
|
||||
all benchmarks if it precedes all `--benchmark` arguments (if any).
|
||||
|
||||
Valid axis specification follow the form:
|
||||
|
||||
* `<axis_name>=<value>`
|
||||
* `<axis_name>=[<value1>,<value2>,...]`
|
||||
* `<axis_name>=[<start>:<stop>]`
|
||||
* `<axis_name>=[<start>:<stop>:<stride>]`
|
||||
* `<axis_name>[<flags>]=<value>`
|
||||
* `<axis_name>[<flags>]=[<value1>,<value2>,...]`
|
||||
* `<axis_name>[<flags>]=[<start>:<stop>]`
|
||||
* `<axis_name>[<flags>]=[<start>:<stop>:<stride>]`
|
||||
|
||||
Whitespace is ignored if the argument is quoted.
|
||||
|
||||
The axis type is taken from the benchmark definition. Some axes have additional
|
||||
restrictions:
|
||||
|
||||
* Numeric axes:
|
||||
* A single value, explicit list of values, or strided range may be specified.
|
||||
* For `int64` axes, the `power_of_two` flag is specified by adding `[pow2]`
|
||||
after the axis name.
|
||||
* Values may differ from those defined in the benchmark.
|
||||
* String axes:
|
||||
* A single value or explicit list of values may be specified.
|
||||
* Values may differ from those defined in the benchmark.
|
||||
* Type axes:
|
||||
* A single value or explicit list of values may be specified.
|
||||
* Values **MUST** be a subset of the types defined in the benchmark.
|
||||
* Values **MUST** match the input strings provided by `--list` (e.g. `I32`
|
||||
for `int`).
|
||||
* Provide a `nvbench::type_strings<T>` specialization to modify a custom
|
||||
type's input string.
|
||||
|
||||
# Examples
|
||||
|
||||
## Single Value
|
||||
|
||||
| Axis Type | Example | Example Result |
|
||||
|-----------|-------------------------|------------------|
|
||||
| Int64 | `-a InputSize=12345` | 12345 |
|
||||
| Int64Pow2 | `-a InputSize[pow2]=8` | 256 |
|
||||
| Float64 | `-a Quality=0.5` | 0.5 |
|
||||
| String | `-a RNG=Uniform` | "Uniform" |
|
||||
| Type | `-a ValueType=I32` | `int32_t` |
|
||||
|
||||
## Explicit List
|
||||
|
||||
| Axis Type | Example | Example Result |
|
||||
|-----------|---------------------------------|--------------------------------|
|
||||
| Int64 | `-a InputSize=[1,2,3,4,5]` | 1, 2, 3, 4, 5 |
|
||||
| Int64Pow2 | `-a InputSize[pow2]=[4,6,8,10]` | 16, 64, 256, 1024 |
|
||||
| Float64 | `-a Quality=[0.5,0.75,1.0]` | 0.5, 0.75, 1.0 |
|
||||
| String | `-a RNG=[Uniform,Gaussian]` | "Uniform", "Gaussian" |
|
||||
| Type | `-a ValueType=[U8,I32,F64]` | `uint8_t`, `int32_t`, `double` |
|
||||
|
||||
## Strided Range
|
||||
|
||||
| Axis Type | Example | Example Result |
|
||||
|-----------|---------------------------------|------------------------------|
|
||||
| Int64 | `-a InputSize=[2:10:2]` | 2, 4, 6, 8, 10 |
|
||||
| Int64Pow2 | `-a InputSize[pow2]=[2:10:2]` | 4, 16, 64, 128, 256, 1024 |
|
||||
| Float64 | `-a Quality=[.5:1:.1]` | 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 |
|
||||
| String | [Not supported] | |
|
||||
| Type | [Not supported] | |
|
||||
Reference in New Issue
Block a user