Commit Graph

294 Commits

Author SHA1 Message Date
Allison Vacanti
0f926f6a3d Add missing move. 2021-10-08 00:41:28 -04:00
Allison Vacanti
b4ccfe980a Merge pull request #33 from allisonvacanti/17_only_print_used_devices
Only print used devices.
2021-10-07 17:20:17 -04:00
Allison Vacanti
3c5f445ef0 Only print actively used devices when running benchmarks. 2021-10-07 17:11:50 -04:00
Allison Vacanti
fcb9277b1d Track actively used devices in device_manager 2021-10-07 17:11:34 -04:00
Allison Vacanti
c530fce382 Add docs to device_manager. 2021-10-07 17:10:56 -04:00
Allison Vacanti
65158a9ff2 Make device_info sortable. 2021-10-07 17:10:16 -04:00
Allison Vacanti
401bc6e925 Merge pull request #32 from allisonvacanti/10_run_once
Add --run-once option.
2021-10-07 16:30:23 -04:00
Allison Vacanti
6d79c80152 Add --run-once option.
Fixes #10.

Adds a mode that forces a benchmark to only run once, simplifying
profiling usecases. This can be enabled by any of the following methods:

* Passing `--run-once` on the command line
* `NVBENCH_CREATE(...).set_run_once(true)` when declaring a benchmark
* `state.set_run_once(true)` from within the benchmark implementation.
2021-10-07 16:28:15 -04:00
Allison Vacanti
2de82f3041 Style. 2021-10-07 16:22:11 -04:00
Allison Vacanti
787481328e Merge pull request #31 from allisonvacanti/28_uniquer_benchmark_ids
Make benchmark names more unique.
2021-10-07 15:24:00 -04:00
Allison Vacanti
8db2456f3a Make benchmark names more unique.
Fixes #28, in which multiple benchmark TUs are linked together that use
NVBENCH_CREATE on the same line in multiple files, leading to symbol name
collisions.
2021-10-07 15:21:59 -04:00
Allison Vacanti
2212d86eb3 Merge pull request #27 from cliffburdick/unused_vars
Tag unused variables
2021-08-17 17:31:06 -04:00
Cliff Burdick
33c9c44a86 Removing variable name 2021-08-17 14:28:51 -07:00
Cliff Burdick
54eb5994da Tag unused variables 2021-08-17 13:59:52 -07:00
Allison Vacanti
40aa3e06e4 Merge pull request #26 from robertmaynard/mark_nvbench_sources_as_cxx_when_possible
Compile as many sources as C++ to improve build times
2021-07-22 12:41:53 -04:00
Robert Maynard
15434ce9e2 Compile as many sources as C++ to improve build times
This takes compilation time on my machine from 12.13sec to 9.47 in
parallel or serially from 93sec to 55sec.
2021-07-21 12:45:50 -04:00
Allison Vacanti
a2c57bfb70 Fix regression in l2flush. 2021-07-16 12:55:42 -04:00
Allison Vacanti
36e3f26eb3 Merge pull request #25 from robertmaynard/workaround_cuda_11.0_centos7_bug
Workaround CUDA 11.0 ICE on centos7
2021-07-15 12:08:49 -04:00
Robert Maynard
6274685015 Workaround CUDA 11.0 ICE on centos7 2021-07-15 11:52:23 -04:00
Allison Vacanti
dbe9502e3f Merge pull request #23 from robertmaynard/patch_nlohmann_json_to_support_cuda_11.0
Patch nlohmann json to avoid a compiler bug in nvcc 11.0
2021-07-09 11:49:26 -04:00
Robert Maynard
9cfb15be8b document why we are patching json.hpp 2021-07-09 11:28:43 -04:00
Robert Maynard
237363784a Patch nlohmann json to avoid a compiler bug in nvcc 11.0
Fixes #18
2021-07-08 16:52:52 -04:00
Allison Vacanti
9054880881 Support older versions of tabulate module.
Ubuntu 18.04 only provides tabulate v0.7, but colalign and github
formatting options were added in 0.8.3.
2021-07-08 14:48:02 -04:00
Allison Vacanti
a32f2d7eed Handle benchmarks with no axes in compare script. 2021-07-08 14:46:54 -04:00
Allison Vacanti
ab91baf5d8 Fix number parsing in compare script.
All numbers are now stored as strings to avoid truncation of 64-bit ints.
2021-07-08 14:45:27 -04:00
Allison Vacanti
1819b003c2 Update test json files with new number format and multi-device. 2021-07-08 14:44:18 -04:00
Allison Vacanti
e84e13ed51 Simplify benchmark_base::set_printer API.
Forcing the caller to use `std::ref` is gross.
2021-06-23 17:04:41 -04:00
Allison Vacanti
5fab2536e5 Merge pull request #14 from vyasr/enhanced_compare
Improve compare output
2021-06-22 16:27:03 -04:00
Allison Vacanti
861f66c161 Update comparison script.
- Handle multiple benchmarks.
- Split output to resemble nvbench markdown output:
  - Headings for benchmarks / devices
  - Compact tables with axis values / stats
- Handle `null` stdev (these are infinite, e.g. too few samples)
- Format numbers, times, percentages similar to nvbench.
- Add summary of total/pass/unknown/failure stats
- Add new test.json files (with multiple benchmarks in each)
2021-06-22 16:15:22 -04:00
Allison Vacanti
668a98ef16 Encode generic numerics as strings in JSON format.
JSON encodes all numerics as `double`s, which would truncate int64_t.
Write all generic numbers from `named_values` objects as strings.
These are still distinguishable by their `type` properties.
2021-06-22 16:10:52 -04:00
Vyas Ramasubramani
f1715786fd Add bracketing newlines. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
1002082817 Apply black formatting. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
dae1f16426 Add some intermeidate variables and simplify code to make it self-documenting. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
053eb493c7 Add nonzero error code on exit if any tests fail and change output format to Github-style Markdown. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
ab39c924b2 Add comment regarding better metrics of failure. 2021-06-22 12:30:05 -04:00
Ashwin Srinath
52775574a3 Add colorama to requirements 2021-06-22 12:30:05 -04:00
Ashwin Srinath
f3658c2b77 Add a requirements.txt 2021-06-22 12:30:05 -04:00
Ashwin Srinath
0f63f86e9f Report pass/fail status 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
38ec66dc0f Add small comment. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
5db95906f8 Convert named values to a key-value mapping from a list. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
c2868dfa35 Convert states into a key-value mapping. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
0491e9c17f Store axes and summaries as dictionaries rather than lists. 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
8fcad4908f Improve table formatting, add calculated performance difference. 2021-06-22 12:30:05 -04:00
Ashwin Srinath
d9704f0db1 Add pretty printing of table 2021-06-22 12:30:05 -04:00
Vyas Ramasubramani
ed4feade63 Use f-string with explicit format width. 2021-06-22 12:30:05 -04:00
Allison Vacanti
1fc4576ceb Initial draft of python comparison script. 2021-06-22 12:29:53 -04:00
Allison Vacanti
ff507596bf Fix typo in docs. 2021-04-12 14:48:45 -04:00
Allison Vacanti
4ab0f5de7c Change CPU timer start point. 2021-04-10 20:00:48 -04:00
Allison Vacanti
34479b3116 Add path for json develop branch to simplify upstream patch testing. 2021-03-24 10:00:59 -04:00
Allison Vacanti
ebd79caa39 Add state.add_buffer_size(...) method. 2021-03-18 18:09:04 -04:00