Allow users to control iteration via the concept of iteration spaces.#80
Allow users to control iteration via the concept of iteration spaces.#80robertmaynard wants to merge 44 commits intoNVIDIA:mainfrom
Conversation
Changes in the work include: - [x] Internally use linear_space for iterating - [x] Simplify type and value iteration in `state_iterator::build_axis_configs` - [x] Store the iteration space in `axes_metadata` - [x] Expose `tie` and `user` spaces to user - [x] Add tests for `linear`, `tie`, and `user` - [x] Add examples for `tie` and `user`
jrhemstad
left a comment
There was a problem hiding this comment.
re: naming, I'd stick with zip as opposed to tie.
I think "zip" is more intuitive and descriptive based on the precedence of things like thrust::zip_iterator and std::ranges::zip_view.
nvbench/axis_iteration_space.cuh
Outdated
| virtual std::unique_ptr<axis_space_base> do_clone() const = 0; | ||
| virtual detail::axis_space_iterator do_iter(axes_info info) const = 0; | ||
| virtual std::size_t do_size(const axes_info &info) const = 0; | ||
| virtual std::size_t do_valid_count(const axes_info &info) const = 0; |
There was a problem hiding this comment.
It'd be nice to get some docs on the concept of a "axis space" as well as the semantics of these functions.
There was a problem hiding this comment.
Agreed, same for the linear_axis_space and other subclasses below.
There was a problem hiding this comment.
I have added more documentation
182f1da to
a25f578
Compare
0a2130f to
c3c86e1
Compare
There was a problem hiding this comment.
Did an initial round of review, but didn't finish -- sharing my comments so far. Will give this a closer look later.
In the meantime, can you go through this and add documentation for the new interfaces?
Having a high-level overview of how these pieces fit together would also be helpful, maybe include that in the class docs for nvbench::detail::axes_iterator.
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
Co-authored-by: Allison Vacanti <alliepiper16@gmail.com>
5dc6c83 to
d8d80e4
Compare
d8d80e4 to
ba8356f
Compare
282754b to
5708e6c
Compare
|
Can we revive this PR? Are there blockers? |
|
/ok to test 4defa02 |
|
/ok to test 4bd5690 |
c820ec0 to
a2bf266
Compare
|
/ok to test |
@alliepiper, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/1/ |
|
/ok to test a2bf266 |
|
/ok to test c8909c7 |
|
I see a way to simplify this. Marking as draft as I work on the implementation. |
Changes in the work include:
state_iterator::build_axis_configsaxes_metadatazipanduserspaces to userlinear,zip, anduserzipanduserFixes #68