Commit Graph

21 Commits

Author SHA1 Message Date
Allison Piper
50e764a308 Merge remote-tracking branch 'origin/main' into fea/axes_iteration_space 2025-05-01 15:14:58 +00:00
Allison Piper
a6df59a9b5 Add support for CPU-only benchmarking.
Fixes #95.

CPU-only mode is enabled by setting the `is_cpu_only` property while
defining a benchmark, e.g. `NVBENCH_BENCH(foo).set_is_cpu_only(true)`.

An optional `nvbench::exec_tag::no_gpu` hint can also be passed to
`state.exec` to avoid instantiating GPU benchmarking backends. Note that
a CUDA compiler and CUDA runtime are always required, even if all benchmarks
in a translation unit are CPU-only.

Similarly, a new `nvbench::exec_tag::gpu` hint can be used to avoid
compiling CPU-only backends for GPU benchmarks.
2025-04-08 11:17:23 -04:00
Bryce Adelstein Lelbach aka wash
39b2770b62 Fix typo in documentation: set_type_axis_names should be set_type_axes_names 2023-10-05 13:16:16 -04:00
Robert Maynard
dc7e2b789d Drop ability to zip axii after construction 2022-08-29 10:24:45 -04:00
Robert Maynard
99395df136 Update to cross reference docs 2022-08-23 14:46:03 -04:00
Robert Maynard
5b000e8988 More cleanup 2022-04-12 11:15:03 -04:00
Robert Maynard
f791475941 Update docs/benchmarks.md
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
2022-04-12 09:47:05 -04:00
Robert Maynard
f4570d43cf Update docs/benchmarks.md
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
2022-04-12 09:46:55 -04:00
Robert Maynard
a25f578891 Rename tie_axes to zip_axes 2022-02-28 14:23:35 -05:00
Robert Maynard
344878e9dc Allow users to control iteration via the concept of iteration spaces.
Changes in the work include:
- [x] Internally use linear_space for iterating
- [x] Simplify type and value iteration in `state_iterator::build_axis_configs`
- [x] Store the iteration space in `axes_metadata`
- [x] Expose `tie` and `user` spaces to user
- [x] Add tests for `linear`, `tie`, and `user`
- [x] Add examples for `tie` and `user`
2022-02-25 15:09:51 -05:00
Allison Vacanti
48d94259b4 Fix typo in new docs. 2022-02-11 14:01:49 -05:00
Allison Vacanti
039d455727 Move documentation on streams to new subsection.
Also update to use `nvbench::make_cuda_stream_view`.
2022-02-11 13:29:06 -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
76cbbcc8f9 Update benchmarks.md 2022-02-04 17:20:40 -05:00
Allison Vacanti
60c94d9ed6 Add enum_type_axis and examples/enums.cu.
- `enum_type_axis` simplifies using integral_constants with type axes.
- `examples/enums.cu` demonstrates various ways of implementing parameter
  sweeps with enum types.
2021-03-16 13:57:52 -04:00
Yunsong Wang
a097e6d90d Minor corrections in doc 2021-03-11 16:47:03 -05:00
Allison Vacanti
3fc75f5ea6 Add more examples.
- exec_tag_timer
- exec_tag_sync
- skip
- throughput
2021-03-09 16:03:14 -05:00
Allison Vacanti
33aa9e1a07 Update README to link to the new example. 2021-03-08 18:26:26 -05:00
Allison Vacanti
33fa0c773f Typo. 2021-03-04 23:24:37 -05:00
Allison Vacanti
65bc2c1e3f Documentation overhaul.
Revamp README, split into multiple files. Add docs on CLI.

Add `--help` and `--help-axis`.
2021-03-04 18:40:23 -05:00