Commit Graph

447 Commits

Author SHA1 Message Date
Allison Piper
9e8efa2c88 Preserve .devcontainers/img/ when cleaning. (#166) 2024-04-08 18:24:07 -04:00
Allison Piper
044e22411e Move CUPTI disablement to build script. (#167) 2024-04-08 18:23:38 -04:00
Allison Piper
a0f2fab72b Squashed commit of the following:
commit c5b2fc0a8b
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 21:48:20 2024 +0000

    Add supported compilers and tools in README.md.

commit 92fe366da5
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 20:45:30 2024 +0000

    Fix issues discovered by header tests.

commit f7f6c92143
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 20:45:06 2024 +0000

    Setup header tests, add C++20 header tests + examples.

    The core library will always be built with C++17, but
    we test our headers / examples under 17 and 20.

commit 4b24f26b66
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 16:21:42 2024 +0000

    Pass CUDA FLAGS to install tests.

commit 4fb672ae91
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 15:43:41 2024 +0000

    Add newer GCC (13) and Clang (17, 18).
2024-04-06 22:05:40 +00:00
Allison Piper
a2f88ff790 Set CUDA_MODULE_LOADING=EAGER before main. (#157)
* Set `CUDA_MODULE_LOADING=EAGER` before `main`.

Fixes #136

* Portability for `setenv`.

* Remove pre-main CUDART usage and setup env in main.

* Fail examples if they deadlock.

This is the best way we have to diagnose a regression for
NVIDIA/nvbench#136.

* Add an initialize method to benchmark_manager for CUDA-related setup.

Benchmarks are created statically, so their constructors cannot call the CUDA APIs without breaking the CUDA_MODULE_LOAD setup.

This method is called from `main` after the environment has been configured.
2024-04-06 11:03:42 -04:00
Allison Piper
e8c8877d36 Squashed commit of the following:
commit 4b309e6ad8
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 13:19:14 2024 +0000

    Minor cleanups

commit 476ed2ceae
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 12:53:37 2024 +0000

    WAR compiler ice in nlohmann json.

    Only seeing this on GCC 9 + CTK 11.1. Seems to be
    having trouble with the `[[no_unique_address]]` optimization.

commit a9bf1d3e42
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 00:24:47 2024 +0000

    Bump nlohmann json.

commit 80980fe373
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Sat Apr 6 00:22:07 2024 +0000

    Fix llvm filesystem support

commit f6099e6311
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 23:18:44 2024 +0000

    Drop MSVC 2017 testing.

commit 5ae50a8ef5
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 23:02:32 2024 +0000

    Add mroe missing headers.

commit b2a9ae04d9
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 22:37:56 2024 +0000

    Remove old CUDA+MSVC builds and make windows build-only.

commit 5b18c26a28
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 22:37:07 2024 +0000

    Fix header for std::min/max.

    Why do I always think it's utility instead of algorithm....

commit 6a409efa2d
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 22:18:18 2024 +0000

    Temporarily disable CUPTI on all windows builds.

commit f432f88866
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 21:42:52 2024 +0000

    Fix warnings on MSVC.

commit 829787649b
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 21:03:16 2024 +0000

    More flailing about in powershell.

commit 21742e6bea
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 20:36:08 2024 +0000

    Cleanup filesystem header handling.

commit de3d202635
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 20:09:00 2024 +0000

    Windows CI debugging.

commit a4151667ff
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 19:45:40 2024 +0000

    Quotation mark madness

commit dd04f3befe
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 19:27:27 2024 +0000

    Temporarily disable NVML on windows CI until new containers are ready.

commit f3952848c4
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 19:25:22 2024 +0000

    WAR issues on gcc-7.

commit 198986875e
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 19:25:04 2024 +0000

    More matrix/devcontainer updates.

commit b9712f8696
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 18:30:35 2024 +0000

    Fix windows build scripts.

commit 943f268280
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 18:18:33 2024 +0000

    Fix warnings with clang host compiler.

commit 7063e1d60a
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 18:14:28 2024 +0000

    More devcontainer hijinks.

commit 06532fde81
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 17:51:25 2024 +0000

    More matrix updates.

commit 78a265ea55
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 17:34:00 2024 +0000

    Support CLI CMake options for windows ci scripts.

commit 670895c867
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 17:31:59 2024 +0000

    Add missing devcontainers.

commit b121823e74
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 17:22:54 2024 +0000

    Build for `all-major` architectures in presets.

    We can get away with this because we require CMake 3.23.1.
    This was added in 3.23.

commit fccfd44685
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 17:22:08 2024 +0000

    Update matrix file.

commit e7d43ba90e
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 16:23:48 2024 +0000

    Consolidate build/test jobs.

commit c4044056ec
Author: Allison Piper <alliepiper16@gmail.com>
Date:   Fri Apr 5 16:04:11 2024 +0000

    Add missing build script.
2024-04-06 13:56:10 +00:00
Allison Piper
04b70059b8 Setup clangd compile commands output. 2024-04-05 15:08:04 +00:00
Allison Piper
eb5940c64f Add initial CI, presets, and devcontainers. 2024-04-04 21:42:43 +00:00
Georgii Evtushenko
42d99a5753 Fix MSVC (#158)
* Fix MSVC

* Revert change of source list name
2024-04-04 09:53:30 -07:00
Georgii Evtushenko
d8dced8a64 Merge pull request #151 from gevtushenko/entropy
Entropy-based stopping criterion
2024-01-12 23:19:25 +04:00
Georgy Evtushenko
aebbeb371b Check if criterion options start with -- 2024-01-11 11:24:59 -08:00
Georgy Evtushenko
4be0c5bdcd API convention 2024-01-11 10:48:52 -08:00
Georgy Evtushenko
34c57965a2 Move params 2024-01-11 10:42:43 -08:00
Georgy Evtushenko
dacbee127c Base method naming convention 2024-01-11 10:41:11 -08:00
Georgy Evtushenko
182c77e4f4 Got rid of the params description API 2024-01-10 12:30:17 -08:00
Georgy Evtushenko
bcd5c7d885 Remove extra member variable 2024-01-10 10:15:00 -08:00
Georgy Evtushenko
b59c251e3b Making stopping criterion constructor explicit 2024-01-10 10:13:03 -08:00
Georgy Evtushenko
6b5315fc8f Readable names 2024-01-10 10:12:19 -08:00
Georgy Evtushenko
bd23bcac31 Const version of get criterion 2024-01-10 10:09:00 -08:00
Georgy Evtushenko
dd54af3dc5 Make get params description const 2024-01-10 10:01:49 -08:00
Georgy Evtushenko
42c6bdea70 Handle empty input in mean 2024-01-10 09:52:14 -08:00
Georgy Evtushenko
f5db89cc2b Documented potential improvement 2024-01-09 15:01:08 -08:00
Georgy Evtushenko
d079a49976 Compute mean once 2024-01-09 14:57:29 -08:00
Georgy Evtushenko
2dd4c18e2f Criterion registration macro 2024-01-08 14:20:17 -08:00
Georgy Evtushenko
fade52fa2e Different singleton convention 2024-01-08 14:08:12 -08:00
Georgy Evtushenko
5b6378e918 Comment on reduction of computation in is_finished() 2024-01-08 13:21:26 -08:00
Georgy Evtushenko
85ed6f007c Rename criterion registry to criterion manager 2024-01-08 13:15:46 -08:00
Georgy Evtushenko
4d90c367f5 Showcase specifying benchmark stopping criterion 2024-01-08 13:09:27 -08:00
Georgy Evtushenko
de724a21f1 Rename get_params to get_params_description 2024-01-08 13:06:48 -08:00
Georgy Evtushenko
88cc582cea ABC 2024-01-08 13:03:33 -08:00
Georgy Evtushenko
b789240c76 Entropy-based stopping criterion 2024-01-05 14:59:48 -08:00
Allison Vacanti
7521229872 Merge pull request #138 from andmax/fix/am/do_clone_warnings
fix: add final mark in do_clone methods to avoid warnings
2023-11-20 11:10:38 -05:00
Andre Maximo
e7a4ce70dc fix: add final mark in do_clone methods to avoid warnings 2023-11-20 06:58:02 -03:00
Robert Maynard
978d81a0cb Restore nvml being an optional dependency of nvbench (#149) 2023-11-16 15:20:24 -05:00
Allison Vacanti
acc8239ef7 Merge pull request #148 from robertmaynard/support_nvml_with_static_builds
Support static builds of nvbench with nvml enabled.
2023-11-15 09:52:35 -05:00
Robert Maynard
cbe9980304 Correct typo in nvbench/internal/nvml.cuh
Co-authored-by: Bradley Dice <bdice@bradleydice.com>
2023-11-14 14:23:56 -05:00
Robert Maynard
adaef09b20 Support static builds of nvbench with nvml enabled.
To do this we need to ensure that the nvml init handler is
both contained in the library/executable that uses nvbench.

The original implementation fails since the singleton can be dropped
since it has no usages. So instead we move to a function static
which we ensure will always be used.
2023-11-14 14:08:10 -05:00
Georgii Evtushenko
57c4d42ba5 Merge pull request #146 from gevtushenko/trials
No batch tag
2023-11-02 22:11:37 +04:00
Georgy Evtushenko
2ef69e9ba6 No batch exec tag 2023-11-02 11:10:27 -07:00
Robert Maynard
b8f0f6b583 Rework nvbench_git_revision logic to correct cccl build failures (#145) 2023-10-20 14:11:17 -04:00
Robert Maynard
e47d7ac354 write_git_revision_file must be used in same CMakeLists as consumer (#143)
* write_git_revision_file must be used in same CMakeLists as consumer

So we can't have this in the rapids-cmake init function.

* Fix whitespace damage

---------

Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
2023-10-19 06:52:17 +02:00
Allison Vacanti
c3a8ef6e37 Merge pull request #141 from robertmaynard/fea/support_turning_off_install_rules
NVBench now supports not installing itself
2023-10-18 09:47:07 -04:00
Robert Maynard
07bc58bddf Properly generate git revision header before usage (#142)
Wasn't found due to testing using CMake 3.27+
2023-10-18 15:46:04 +02:00
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
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
Georgy Evtushenko
8d8b9d42c5 Merge pull request #139 from senior-zero/fix-main/github/warnings
Fix NVBench Warnings
2023-09-25 15:30:19 -07:00
Georgy Evtushenko
856f2cb98d Default move constructors 2023-09-25 15:23:39 -07:00
Georgy Evtushenko
16638cbef0 Fix headers order 2023-09-25 15:15:18 -07:00
Georgy Evtushenko
f3a1fa2a9f Fix warious warnings 2023-09-22 12:17:38 -07:00
Georgy Evtushenko
a1eea54585 Ignore cache directory 2023-09-22 12:17:38 -07:00