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
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
Allison Vacanti
926c950419
Update item rate formatting.
...
The number of items per second can go very high when using thrust
fancy iterators -- some of the reduction benchmarks are handling
>10^15 items/sec.
Updated the table to go to petaitems/sec, and switched from k,m,b,t
abbreviations to metric K, M, G, T, P.
2021-03-18 18:05:42 -04:00
Allison Vacanti
95b3c459b8
Add some columns to an example.
2021-03-18 16:08:30 -04:00
Allison Vacanti
790160d6e6
Rename .h -> .cuh.
2021-03-18 16:08:16 -04:00
Allison Vacanti
0dcd915ea6
Fix test failure.
2021-03-18 16:07:50 -04:00
Allison Vacanti
8b7a2e86b8
Avoid recompiling option_parser every time cmake runs.
...
Switch to `configure_file`, which won't touch the output file unless
the contents change.
2021-03-18 16:07:40 -04:00
Allison Vacanti
52d3dfec8c
Add size columns to an axes example.
2021-03-18 13:43:27 -04:00
Allison Vacanti
4e83e048ba
Store percentages as ratios.
...
Human-readable outputs (md) and CLI inputs still use percentages.
In-memory and machine-readable outputs (csv, json) use ratios.
This is the convention that spreadsheet apps expect. Fixes #2 .
2021-03-18 13:42:43 -04:00
Allison Vacanti
e62c786498
Set small timeout when running examples with ctest.
2021-03-18 13:33:50 -04:00
Allison Vacanti
ea53972af8
Add nvbench.all metatarget.
...
This builds all NVBench tests and examples without building targets in
any parent projects.
2021-03-18 13:33:23 -04:00
Allison Vacanti
94bf208701
Formatting and doc update.
2021-03-18 10:46:28 -04:00
Allison Vacanti
ab8fc13aac
Simplify enum_type_list usage.
...
Using C++17 auto template parameters enables two improvements:
1. Enum type no longer needed in `enum_type_list`:
```
// Old:
nvbench::enum_type_list<my_enum, my_enum::value1, my_enum::value2, ...>
// New:
nvbench::enum_type_list<my_enum::value1, my_enum::value2, ...>
```
2. New `nvbench::enum_type` helper cuts down on verbosity when writing
benchmarks
```
// Old
template <typename T, my_enum_a MyEnumA, my_enum_b MyEnumB>
void my_bench(nvbench::state &state,
nvbench::type_list<T,
std::integral_constant<my_enum_a,
MyEnumA>,
std::integral_constant<my_enum_b,
MyEnumB>>)
{ ... }
// New
template <typename T, my_enum_a MyEnumA, my_enum_b MyEnumB>
void my_bench(nvbench::state &state,
nvbench::type_list<T,
nvbench::enum_type<MyEnumA>,
nvbench::enum_type<MyEnumB>>)
{ ... }
```
2021-03-18 02:59:51 -04:00
Allison Vacanti
01cb22cad0
Move demangle<T>() out of detail namespace.
2021-03-17 19:22:28 -04:00
Allison Vacanti
d928b9a50f
Make column name optional for non-templated throughput setters.
2021-03-17 19:21:42 -04:00
Allison Vacanti
9f6404bac6
Pad range max for floating point types.
...
This avoids an annoying case where the max value is dropped due to
rounding errors.
Adds a few other missing test cases for `nvbench::range`, too.
Fixes #3 .
2021-03-16 15:12:53 -04:00
Allison Vacanti
56414078ea
Added state::get_XXXX_or_default(axis_name, default_value)
2021-03-16 14:36:20 -04: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
Allison Vacanti
90f55a32ee
Add missing format string.
...
MSVC didn't catch this, but GCC won't compile it.
2021-03-12 11:10:20 -05:00
Allison Vacanti
aa8141f9fb
Encapsulate state usage in implementation.
2021-03-12 11:00:38 -05:00
Allison Vacanti
b6d6b238fc
Add timeout to blocking_kernel.
...
This adds a diagnostic when a KernelLauncher syncs but does not pass
`nvbench::exec_tag_sync`.
2021-03-12 10:03:06 -05:00
Allison Vacanti
6f1cafeda5
[clang-format] Formatting.
2021-03-12 09:33:25 -05:00
Allison Vacanti
1e5f858d99
Merge pull request #1 from PointKernel/doc-update
...
Minor corrections in doc
2021-03-11 18:32:00 -05:00
Yunsong Wang
a097e6d90d
Minor corrections in doc
2021-03-11 16:47:03 -05:00
Allison Vacanti
ca8e2d6391
Reset on correct stream in timer example.
2021-03-09 20:18:13 -05:00
Allison Vacanti
270ddcbbbf
Fix link to timer example.
2021-03-09 20:07:58 -05:00
Allison Vacanti
f15b668b03
Add nvbench.test.all and nvbench.example.all metatargets.
2021-03-09 16:03:14 -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
3d83fe20ac
Return early on skip.
2021-03-08 23:23:45 -05:00
Allison Vacanti
c24f0228ac
Typos.
2021-03-08 23:22:12 -05:00
Allison Vacanti
cc01d8863c
Fix copyright year.
2021-03-08 18:39:27 -05:00
Allison Vacanti
ca2ed3e9be
Example kernels need streams...
2021-03-08 18:36:59 -05:00
Allison Vacanti
33aa9e1a07
Update README to link to the new example.
2021-03-08 18:26:26 -05:00
Allison Vacanti
0138a4eeaa
Use reasonable default format string for floats.
...
This matches what markdown_printer does to avoid fp noise.
2021-03-08 18:26:26 -05:00
Allison Vacanti
c133784763
Add the first example.
...
- New NVBench_ENABLE_EXAMPLES CMake option.
- examples/axis.cu provides examples of parameter sweeps.
- Moves testing/sleep_kernel.cuh -> nvbench/test_kernels.cuh
- Accessible to examples and provides some built-in kernels for users
to experiement with.
- Not included with `<nvbench/nvbench.cuh>`.
2021-03-08 18:26:26 -05:00
Allison Vacanti
b01b8fe8dc
Clean up exec_tags.
...
We really only need to expose `timer` and `sync`.
2021-03-06 09:35:56 -05:00
Allison Vacanti
845c9ac662
Add state::get_axis_values_as_string for JSON output.
2021-03-05 18:58:36 -05:00
Allison Vacanti
922a6d09d0
Add --json option to CLI docs.
2021-03-05 16:37:23 -05:00
Allison Vacanti
8afba6c86a
Use CMake to generate --help strings from markdown docs.
2021-03-05 16:37:18 -05:00
Allison Vacanti
27eb2b81ff
Fail gracefully when PTX is not found for a device.
2021-03-05 10:50:57 -05:00
Allison Vacanti
b1269b2f7f
Add json_printer.
...
The new dependency emits some warnings from it's header. We'll need
to suppress / fix those.
2021-03-05 10:50:41 -05:00
Allison Vacanti
acf076ec02
Add missing [[nodiscard]].
2021-03-04 23:24:51 -05:00
Allison Vacanti
33fa0c773f
Typo.
2021-03-04 23:24:37 -05:00