Commit Graph

28 Commits

Author SHA1 Message Date
Robert Maynard
282cee0f3a NVBench now supports not installing itself 2023-10-17 15:09:39 -04:00
Robert Maynard
0eab168664 Support users which want static builds of nvbench (#140) 2023-10-17 13:55:30 -04:00
Georgy Evtushenko
013d266974 Fix gnu line marker warning 2023-06-28 17:03:31 +04:00
Robert Maynard
b8b5d2904b Handle use case where we are in a conda env but with a static fmt lib 2023-05-31 10:51:40 -04:00
Robert Maynard
b8739b6fe6 Update nvbench default fmt to be built to be 9.1.0
The formatting of `{}` can be incorrect under 7.X when given
doubles and compiled with the latest conda toolchain. While both
fmt 8 and 9 don't show this issue move to the latest version
to leverage all the improvements in fmt 9.

Fixes #103
2022-12-16 15:04:49 -05:00
Vyas Ramasubramani
a5ffad1e8d Downgrade fmt version again. 2022-11-08 11:13:45 -08:00
Vyas Ramasubramani
ae6ede15d6 Fix warning. 2022-11-03 13:59:17 -07:00
Vyas Ramasubramani
a3b729bca8 fmt::memory_buffer is no longer an iterator. 2022-11-03 10:04:02 -07:00
Robert Maynard
8919728d32 Update to latest version of rapids
Also ensure that we don't clobber any existing rapids.cmake file
2022-08-08 13:24:29 -04:00
Jonas Hahnfeld
449cd4e275 Allow using local nlohmann_json installation
Use the nlohmann_json::nlohmann_json if available, otherwise fall
back to add the downloaded headers.

Closes #19
2022-08-05 09:57:56 +02:00
Allison Vacanti
348acbd6eb Use experimental/filesystem on GCC. 2022-01-11 17:19:55 -05:00
Allison Vacanti
288b1564e0 Suppress warnings on MSVC Debug builds.
Also moved the config.cuh.in template into the source directory where
it'll be easier to find.
2021-12-21 19:35:23 -05:00
Allison Vacanti
edf2018fd7 Merge pull request #58 from allisonvacanti/nvbench_executable
Add an `nvbench-ctl` executable.
2021-12-21 12:08:39 -05:00
Allison Vacanti
20522c807d Add an nvbench-ctl executable.
This will provide functionality such as clock locking (--lgm),
persistance mode (--pm), device querying (--list), version checking
(--version), and documentation (--help).

This is possible already with any nvbench executable, but having
one with a reliable name will be helpful for scripting and writing
documentation.
2021-12-21 12:02:07 -05:00
Allison Vacanti
61d094abf1 Add cupti path for ubuntu packages.
Fixes #59
2021-12-20 14:34:12 -05:00
Allison Vacanti
5d70492714 Enable more warning flags.
- /W4 on MSVC
- -Wall -Wextra + others on gcc/clang
- New NVBench_ENABLE_WERROR option to toggle "warnings as errors"
- Mark the nlohmann_json library as IMPORTED to switch to system includes
- Rename nvbench_main -> nvbench.main to follow target name conventions
- Explicitly suppress some cudafe warnings when compiling templates in
  nlohmann_json headers.
- Explicitly suppress some warnings from Thrust headers.
- Various fixes for warnings exposed by new flags.
- Disable CUPTI on CTK < 11.3 (See #52).
2021-12-18 20:13:25 -05:00
Georgy Evtushenko
1bc715267c CUPTI support 2021-12-18 12:03:52 +03: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
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
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
b2d37c21fd Add export tests. 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
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
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
8afba6c86a Use CMake to generate --help strings from markdown docs. 2021-03-05 16:37:18 -05:00
Allison Vacanti
cf71f6ee15 Update NVBench build system with initial standalone support. 2021-03-03 13:59:29 -05:00