Update C++ version in README - #309
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the README’s Divergent Horizontal Fusion documentation to reflect the project’s C++20 baseline (consistent with a C++20 header-only library).
Changes:
- Replace the mention of C++17 with C++20 in the Divergent Horizontal Fusion section.
- Minor wording touch-up opportunity identified in the updated sentence for clarity.
morousg
left a comment
There was a problem hiding this comment.
I would not change the C++17 to C++20, because it is not true, yet. The code is still 99% C++17. So I would at most change it to C++17/C++20.
Also, I really don't like the "allows you to", I prefer "allows to"
8a7ec59 to
94176ab
Compare
| # Fused Kernel Library (FKL) Main branch | ||
|
|
||
| The Fused Kernel Library is a C++20 implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible. | ||
| The Fused Kernel Library is a C++17 (with some C++20 features) implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible. |
| ### Divergent Horizontal Fusion | ||
|
|
||
| This novel type of Horizontal Fusion, allows to Horizontally Fuse kernels that are completelly different, and read the same or different data, but write the results in different memory regions. | ||
| This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions. |
| # Fused Kernel Library (FKL) Main branch | ||
|
|
||
| The Fused Kernel Library is a C++20 implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible. | ||
| The Fused Kernel Library is a C++17 (with some C++20 features) implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible. |
| ### Divergent Horizontal Fusion | ||
|
|
||
| This novel type of Horizontal Fusion, allows to Horizontally Fuse kernels that are completelly different, and read the same or different data, but write the results in different memory regions. | ||
| This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions. |
| This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions. | ||
|
|
||
| This has been tested before, by creating special compilers that generate the assembly code, and the performance benefits have been already reported. The novelty in our approach is that we do not require a different compiler. We do this by leveraging the C++17 capabilities found in nvcc. | ||
| This has been tested before by creating special compilers that generate the assembly code and the performance benefits have been already reported. The novelty in our approach is that we do not require a different compiler. We do this by leveraging the [C++17 capabilities found in nvcc](https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/cpp-language-support.html#c-17-language-features) and the [C++20 capabilities found in nvcc](https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/cpp-language-support.html#c-20-language-features). |
631fb94 to
1fa281f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (2)
README.md:3
- The PR title/description says this updates the README from C++17 to C++20, but this line changes the intro to say the library is C++17. This also conflicts with the later statement in the README that the minimum C++ version is currently C++20 (see line 7). Please reconcile by restoring C++20 here (or update the other statement accordingly).
The Fused Kernel Library is a C++17 (with some C++20 features) implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible.
README.md:156
- Grammar regression: “allows to horizontally fuse” is ungrammatical and reintroduces the earlier “allows to … Fuse” issue. Use “allows you to …” (or “allows …” + gerund) for readability.
This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions.
Updated C++ version from C++17 to C++20 in the Divergent Horizontal Fusion section.
Updated README to include a link to C++20 capabilities docs in nvcc.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1fa281f to
891df71
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (2)
README.md:3
- This change flips the README back to claiming the main branch is a C++17 implementation, but later in the same README it states the minimum C++ version on main is C++20 (line 7), and the build system sets CXX_STANDARD 20 for generated test/benchmark targets (cmake/discover_tests.cmake:32). This looks like a documentation regression and also contradicts the PR title/description about updating to C++20.
The Fused Kernel Library is a C++17 (with some C++20 features) implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible.
README.md:156
- Grammar regression: “allows to horizontally fuse …” is ungrammatical and also conflicts with the earlier review-thread resolution that changed this to “allows you to …”.
This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (2)
README.md:3
- This change contradicts the PR description ("Updated C++ version from C++17 to C++20") and also conflicts with README line 7 which states the main branch minimum is C++20. It also contains a typo ("implemenations"). Consider updating this sentence to consistently describe the project as C++20 and fix the typo.
The Fused Kernel Library is a C++17 (with some C++20 features) implementation of a methodology that allows to define a set of operations that need to be executed inside a kernel, in the same order that they are expressed. The library currently has CPU and CUDA backends, but other GPU language implemenations (such as HIP) are possible.
README.md:156
- Grammar regression: "allows to horizontally fuse" is unidiomatic English (and reintroduces the issue discussed in the prior thread). Consider "allows you to horizontally fuse".
This novel type of Horizontal Fusion allows to horizontally fuse kernels that are completely different and read the same or different data but write the results in different memory regions.
Updated C++ version from C++17 to C++20 in the Divergent Horizontal Fusion section.