Skip to content

Conversation

@stanleytsang-amd
Copy link
Collaborator

Do not merge

mfep and others added 14 commits September 12, 2022 09:46
Instead of an ad-hoc reporting format, use the googlebenchmark library to define, filter and execute benchmarks.
Custom context information is also added to the benchmark for archival reasons similar to rocPRIM.
Googlebenchmark is automatically downloaded if not found when benchmarks are enabled.
…test

The hip headers have device only code visible to the host compiler on
the nvcc path. Package test is compiled with just the host compiler
because its only using the host api of rocrand. This workaround sets it
to CUDA mode in the nvcc path until the fix for hip headers is released.

Modernize to CUDA language instead of FindCuda.cmake.
The underlying issue has been fixed in latest rocm-cmake.
On some distributions (notable ones include alpine and nixos) `bash`
is not part of the base installation, therefore its not installed in `/bin`.
Use `env` to find bash in the `PATH` which is portable on most *nix
systems.
Restore the old `bencmark_rocrand_generate` for backwards compatibility.
Add the googlebenchmark based version as `benchmark_rocrand_host_api`.
Building the old benchmark can be enabled by setting `BUILD_LEGACY_BENCHMARK`
to `ON` (on by default).
A later change can change the default and then finally remove the old
benchmarks giving users time to adjust to the changes.
The underlying issue has been fixed in v1.5.5 with
google/benchmark#1174. The workaround is no
longer needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants