Commit Graph

270 Commits

Author SHA1 Message Date
Georgy Evtushenko
1bc715267c CUPTI support 2021-12-18 12:03:52 +03:00
Allison Vacanti
3d6c16f8ba Maintain iterator state in markdown table printer. 2021-12-18 01:27:38 -05:00
Allison Vacanti
07e1c56608 Merge pull request #46 from allisonvacanti/nvml
Add NVML support for persistence mode, locking clocks.
2021-12-17 16:07:44 -05:00
Allison Vacanti
b948e79cab Add NVML support for persistence mode, locking clocks.
Locking clocks is currently only implemented for Volta+ devices.

Example usage:

my_bench -d [0,1,3] --persistence-mode 1 --lock-gpu-clocks base

See the cli_help.md docs for more info.
2021-12-17 13:59:43 -05:00
Allison Vacanti
d0c90ff920 Build static fmtlib with -fPIC. 2021-12-15 12:54:53 -05:00
Allison Vacanti
af03585543 Add coloring to markdown tables. 2021-12-14 23:03:14 -05:00
Allison Vacanti
8d77dc2b6c Merge pull request #47 from allisonvacanti/base-two-bandwidth
Use base2 format for displaying bandwidth.
2021-12-14 21:22:50 -05:00
Allison Vacanti
54fda533e1 Use base2 format for displaying bandwidth.
Fixes #4.
2021-12-14 21:19:10 -05:00
Allison Vacanti
7c740975dd Force fmt to build static libs.
Otherwise it shows up in our export set when a parent project enables
BUILD_SHARED_LIBS
2021-10-28 12:39:14 -04:00
Allison Vacanti
cda8d320cb Merge pull request #44 from allisonvacanti/fix_for_conda
Don't explicitly link with cudart.
2021-10-27 12:17:09 -04:00
Allison Vacanti
f984efdc26 Don't explicitly link with cudart.
This is implicitly added by nvcc, and the explicit setting was breaking
environments where cudart_static is unavailable, e.g. conda.
2021-10-27 12:13:32 -04:00
Allison Vacanti
611385b047 Print version info with --help. 2021-10-26 17:45:33 -04:00
Allison Vacanti
1875d9962d Document new --version option. 2021-10-26 17:45:20 -04:00
Allison Vacanti
e6b5f51f1c Merge pull request #42 from allisonvacanti/rapids-cmake
Port to rapids-cmake
2021-10-26 17:26:08 -04:00
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