Allison Vacanti
da2ec38cdb
Exclude some bits from clang-format.
2022-02-11 13:20:05 -05:00
Yunsong Wang
fde2e408de
Add stream benchmark example
2022-02-07 13:09:35 -05:00
Yunsong Wang
6159d9c6cb
Minor correction in unit test
2022-02-06 20:19:21 -05:00
Yunsong Wang
e05bf002f7
Use unique_ptr + custom deleter to simplify destroy logic
2022-02-06 20:14:41 -05:00
Yunsong Wang
e7c29c1c1b
Update docs
2022-02-06 19:34:57 -05:00
Yunsong Wang
a2a12c689c
Update docs/benchmarks.md
...
Co-authored-by: Jake Hemstad <jhemstad@nvidia.com >
2022-02-06 19:31:20 -05:00
Yunsong Wang
33a896f99e
Update copyright year
2022-02-04 17:25:50 -05:00
Yunsong Wang
76cbbcc8f9
Update benchmarks.md
2022-02-04 17:20:40 -05:00
Yunsong Wang
470beda9f0
Add nvbench::state stream tests
2022-02-04 16:55:29 -05:00
Yunsong Wang
439ffec1c8
Minor correction
2022-02-04 16:35:55 -05:00
Yunsong Wang
86708ec793
Fix a stream destroy bug
2022-02-04 16:03:52 -05:00
Yunsong Wang
14eab0774a
Update measure_* classes to construct launch from the state cuda stream
2022-02-04 14:16:43 -05:00
Yunsong Wang
c510a0e78c
Update launch to hold a const ref of nvbenc::cuda_stream
2022-02-04 13:56:02 -05:00
Yunsong Wang
8aea3e467e
Add a cuda stream member to nvbench::state
2022-02-04 13:51:30 -05:00
Yunsong Wang
15f2e92fdf
Add owning and non-owning semantics to nvbench::cuda_stream
2022-02-04 13:26:00 -05:00
Allison Vacanti
b1b6d73afa
Merge pull request #74 from S-o-T/fix_for_fmt8
...
Add missing formatter
2022-01-28 11:48:26 -05:00
Mark Shachkov
c9b1bdaf00
Cast axis_type to string prior to formatting
2022-01-28 10:11:21 +03:00
Allison Vacanti
a72f248af6
Require the NVBench package in test_export testing.
2022-01-19 15:42:26 -05:00
Allison Vacanti
aa64dac60f
More updates to CI config.
2022-01-17 21:54:07 -05:00
Allison Vacanti
542a10e843
Bump default image to gcc9.
2022-01-17 17:59:07 -05:00
Allison Vacanti
6fe34737de
Merge pull request #72 from allisonvacanti/gpuci
...
Add gpuCI metafiles.
2022-01-17 17:30:09 -05:00
Allison Vacanti
15371eb958
Add gpuCI metafiles.
2022-01-17 17:28:10 -05:00
Allison Vacanti
66ae331452
Update .gitignore
2022-01-17 17:02:53 -05:00
Allison Vacanti
a06a7c668c
Merge pull request #70 from allisonvacanti/walltime_reports
...
Python / JSON updates
2022-01-13 17:13:24 -05:00
Allison Vacanti
39ffc84ee3
Merge pull request #69 from PointKernel/remove-unused-parameter-error
...
Get rid of unused parameter errors
2022-01-12 10:43:38 -05:00
Allison Vacanti
12df504bb6
Fix progress display for multiple device runs.
2022-01-11 17:58:05 -05:00
Allison Vacanti
8ba2cf1395
Update compare script and test files for new JSON.
2022-01-11 17:55:36 -05:00
Yunsong Wang
d1c82d00bf
Get rid of unused parameter error
2022-01-11 17:20:17 -05:00
Allison Vacanti
348acbd6eb
Use experimental/filesystem on GCC.
2022-01-11 17:19:55 -05:00
Allison Vacanti
a6925f3c2b
Log commandline args in JSON output.
2022-01-11 16:30:37 -05:00
Allison Vacanti
9995eb67fd
Add JSON file version checks to python scripts.
2022-01-11 15:06:54 -05:00
Allison Vacanti
26e511909d
Write version info to json files.
2022-01-11 15:06:54 -05:00
Georgy Evtushenko
61afb8d7e7
Initial implementation of nvbench_histogram.
2022-01-11 15:06:54 -05:00
Allison Vacanti
f1c985955a
Clean up JSON output for consistency and easier parsing.
...
- Prefer an array of objects with `.name` fields over key/value pairs
for arbitrary collections of objects.
- Write common summary value names directly as fields.
2022-01-11 15:06:54 -05:00
Allison Vacanti
b11c0ba3a0
Add a binary JSON output (--jsonbin) that dumps timing samples.
2022-01-11 15:06:54 -05:00
Allison Vacanti
74e96e8618
Add nvbench_walltime.py script.
2022-01-11 15:06:54 -05:00
Allison Vacanti
5eac6b6340
Measure and report walltime for all measurements.
2022-01-11 15:06:54 -05:00
Allison Vacanti
6dee1eec3b
Refactor summary API and update nvbench/summary.cuh docs.
...
The string used when constructing a summary is no longer a human
readable name, but rather a tag string (e.g. "nv/cold/time/gpu/mean").
These will make lookup easier and more stable going forward.
name vs. short_name no longer exists. Now there is just "name", which
is used for column headings. The "description" string may still be
used for detailed information.
Updated the json tests and compare script to reflect these changes.
2022-01-11 15:06:26 -05:00
Allison Vacanti
9481e947aa
Add C++ dialect detection macros.
2022-01-11 14:40:33 -05:00
Allison Vacanti
fc86d6a524
Merge pull request #65 from allisonvacanti/fix_cpu_noise_calc
...
Fix cpu noise calcs.
2021-12-22 13:29:37 -05:00
Allison Vacanti
6edc5b91a5
Fix cpu noise calcs.
2021-12-22 13:27:07 -05:00
Allison Vacanti
2f8bb28c52
Merge pull request #64 from allisonvacanti/noise_convergence
...
New convergence check
2021-12-21 21:30:39 -05:00
Allison Vacanti
178dd0eb68
Implement new convergence check for noisy kernels.
...
Previously, convergence was tested by waiting for the relative stdev
of cuda timings ("noise") to drop below a certain percentage
(`max_noise`).
This assumed that all benchmarks would eventually see their noise drop
to some threshold, but this is not the case. In practice, many benchmarks
never converge to the default 0.5% relative stdev and instead will always
run to the 15s timeout -- even if the means have converged in a second
or two.
Added a new check that tests when the noise itself stabilizes and ends
the benchmark, even if noise > max_noise.
After testing, this patch alone significantly reduces the runtime of the
Thrust+CUB benchmark suite (from 30 hours to 5 hours) and produces similar
timing results.
The parameters used to tune this feature are not exposed -- if this
approach works long-term and there's a strong motivation to let users
tweak them, then we can worry about names/APIs/CLI/docs later.
2021-12-21 21:24:02 -05:00
Allison Vacanti
8e56a7bd94
Add noisy_bench with some benchmarks that currently always time-out.
2021-12-21 21:05:13 -05:00
Allison Vacanti
3c01814945
Skip non-json files and empty files in compare script.
2021-12-21 21:03:02 -05:00
Allison Vacanti
e70c31d7e1
Merge pull request #63 from allisonvacanti/fix_progress_display
...
Fix progress display for inactive type axis values.
2021-12-21 20:42:05 -05:00
Allison Vacanti
8cacc821d0
Fix an error message.
...
This path gets hit for type axes as well as strings.
2021-12-21 20:41:45 -05:00
Allison Vacanti
c9ab8e2eb3
Fix progress display for inactive type axis values.
...
When type axis values were disabled they were still counted towards
a benchmark's total number of configs.
2021-12-21 20:36:52 -05:00
Allison Vacanti
0f5c8624f6
Merge pull request #62 from allisonvacanti/debug_warnings
...
Suppress warnings on MSVC Debug builds.
2021-12-21 19:41:19 -05:00
Allison Vacanti
288b1564e0
Suppress warnings on MSVC Debug builds.
...
Also moved the config.cuh.in template into the source directory where
it'll be easier to find.
2021-12-21 19:35:23 -05:00