Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update benchmarking guide to use NVBench. #10093
Update benchmarking guide to use NVBench. #10093
Changes from 1 commit
c5d184d
77e69b8
ebd33fb
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been naming
nvbench
files with_nvbench.cu/cpp
suffix as opposed to_benchmark.cu/cpp
in gbench and executable with<feature>_NVBENCH
(instead of<feature>_BENCH
) to distinguish them from gbench. Not sure it's the right way to go for allnvbench
benchmarks though.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer no suffix on the source files. As nvbench becomes the primary benchmark it becomes just noise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@robertmaynard Does "no suffix" mean "remove
_benchmark
" as well?I find
_benchmark
helpful for finding files by name, but I agree that_nvbench
is too specific.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recall I decided to do so because of
CMake
:ConfigureBench
to build_benchmark.cu/cpp
ConfigureNVBench
to build_nvbench.cu/cpp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of tool specific suffix. So
benchmark
seems okay to me. The purist in me says that we havebenchmarks
in the path to the file already so no future distinction is required ( we don't usescatter_header.h
).ConfigureBench
andConfigureNVBench
are given a set of souce files to compile, and don't care how those files are named. So they would have no problem withscatter_badly_named.cu
:)The primary issue is that we have
join_nvbench.cu
andjoin_benchmark.cu
, where the nvbench version tests the left_join, full_join, and inner_join algorithms, and google benchmarks tests the semi and anti joins. If we had gone with file names that matched the algorithms (anti_join_benchmark.cu
,left_join_benchmark.cu
) we wouldn't need to have anything end with_nvbench
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So do we agree that no change is needed in the guide? (Perhaps some changes are needed to rename
_nvbench.cu/cpp
files.)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer to ideally lose suffixes.
Once our benchmarks become large enough to need to split across many files, we might need to add suffixes based on context of that benchmark. At that point, we would prefer to lose _nvbench, _benchmark suffixes because of long filenames if we had it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@karthikeyann I can see the argument to remove
_benchmark
. However, that wouldn't align with the current state of the benchmarks. I'd like to keep this PR focused on the change to "use nvbench" and that change can be done at a later point.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just make sure when someone goes through and removes _benchmark from every benchmark source file, they also update the guide to not use the suffix. (If it were me, I would change the example in the guide now...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@harrism I'll merge this PR and do that now. 👍