-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ffc1fe3
commit cbcd2a4
Showing
37 changed files
with
14 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,24 @@ | ||
# Reduction Case Study | ||
|
||
This repository hosts the sample code used in the HIP documentation. | ||
This repository hosts the sample code used in the | ||
Check failure on line 3 in Tutorials/Reduction/README.md GitHub Actions / Documentation / MarkdownTrailing spaces
|
||
[HIP documentation](https://rocm.docs.amd.com/projects/HIP/en/latest/). | ||
|
||
## Structure | ||
|
||
The code structure follows mostly that of | ||
[rocPRIM](https://github.com/ROCmSoftwarePlatform/rocPRIM), differing in a few | ||
subtle, mostly self-serving ways: | ||
The coding style and the directory structure follow mostly that of | ||
[rocPRIM](https://github.com/ROCm/rocPRIM), differing in a few ways: | ||
|
||
- Unbound by the C++14 requirement of rocPRIM dictated by hipCUB and rocThrust, | ||
this repository uses C++20 as the baseline. | ||
- As such, implementation are free to make use of some TMP/constexpr helper | ||
- As such, implementations are free to make use of some TMP/constexpr helper | ||
functions found within [`include/tmp_utils.hpp`](include/tmp_utils.hpp). | ||
- The tests and benchmarks don't initialize resources multiple times, but do so | ||
just once and reuse the same input for tests/benhcmarks of various sizes. | ||
- Neither do tests, nor the benchmarks use prefixes for input initialization. | ||
Instead they both create a function object storing all state which tests | ||
capture by reference. | ||
just once and reuse the same input for tests/benchmarks of various sizes. | ||
- Neither do tests, nor the benchmarks use prefixes for input initialization. | ||
Instead they both create a function object storing all states which tests | ||
capture by reference. | ||
- "Diffing" the various implementations in succession reveals the minor changes | ||
between each version. `v0.hpp` is a simple Parallel STL implementation which | ||
is used for verification and a baseline of performance for comparison. | ||
- The `examples` folder holds the initial implementations of the various | ||
optimization levels of the benchmarks before the repo got split into tests | ||
and benchmarks with some degree of deduplication and common structure. | ||
- The `example` folder holds the initial implementations of the various | ||
optimization levels of the benchmarks. |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.