Allison Vacanti
b2d37c21fd
Add export tests.
2021-10-20 14:02:16 -04:00
Allison Vacanti
27b23eeb46
Add new --version option to benchmark executables.
2021-10-20 14:02:16 -04:00
Allison Vacanti
ef36d3a558
Port to rapids-cmake.
...
- Add export sets
- Add install rules
- Remove manual CPM import, port to rapids_cpm_*, etc
- Organize CMake code into cmake/*.cmake files.
- NVBench is now a shared library.
2021-10-20 14:02:16 -04:00
Allison Vacanti
ed27365a41
Disable portion of test due to GCC 7 bug.
...
Fixes #39 .
old-cmake
2021-10-19 12:26:02 -04:00
Allison Vacanti
72f9cd8adb
Merge pull request #37 from allisonvacanti/fix-axis
...
Revert .cu -> .cxx change for option_parser TU.
2021-10-13 17:36:36 -04:00
Allison Vacanti
e11c6961b2
Revert .cu -> .cxx change for option_parser TU.
...
This change introduced a strange bug on GCC where a stack object is changed
seemingly randomly.
In `option_parser::update_axis`, the `flag` variable's `data()` pointer
is overwritten to point at garbage memory shortly after parsing. Nothing
related to this object is being updated when the corruption occurs.
This has been observed on gcc7+, but cannot be reproduced on MSVC.
Reverting the `option_parser.cxx` TU to be a CUDA object works
around this.
Fixes issue #36 .
2021-10-13 17:36:01 -04:00
Jake Hemstad
2b8ef7442b
Merge pull request #34 from jrhemstad/add_contributor_guide
...
Update README with info on examples/tests
2021-10-08 14:47:13 -05:00
Jake Hemstad
83a021181d
Missing space.
2021-10-08 14:30:38 -05:00
Jake Hemstad
156967f6c3
Format.
2021-10-08 14:28:33 -05:00
Jake Hemstad
4f0c72b6bf
Delete extra line.
2021-10-08 14:28:23 -05:00
Jake Hemstad
add1a34a04
Add sections for building examples and tests.
2021-10-08 13:03:00 -05:00
Jake Hemstad
131f557b53
Add .gitignore.
2021-10-08 13:02:22 -05:00
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