Investigate making the implementation simpler, and benchmark the effects
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 507
- Forks
- 87
- Avg merge
- 15h 27m
- Merged PRs (30d)
- 2
Description
@crtrott @dalg24 @nliber
The following discussion
- https://github.com/NVIDIA/libcudacxx/pull/299#issuecomment-1252094052
- https://github.com/NVIDIA/libcudacxx/pull/299#issuecomment-1252566731
- https://github.com/NVIDIA/libcudacxx/pull/299#issuecomment-1252626640
suggests that the implementation is more complex than needed, because it does not fully take advantage of the relaxed requirements of constexpr functions in C++14 and later. @miscco posted a much simpler extents implementation https://godbolt.org/z/T9T4db864 .
If we do decide to simplify the implementation, it would be excellent to run benchmarks, using the method of our 2019 paper https://scholar.google.com/citations?view_op=view_citation&hl=en&user=LjHLr7YAAAAJ&sortby=pubdate&citation_for_view=LjHLr7YAAAAJ:ldfaerwXgEUC .
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked discussion on PR #299 and the simpler extents implementation at the provided Compiler Explorer link. Review the existing extents implementation and compare its behavior and constraints with that proposal. If simplification is pursued, use the benchmarking method from the referenced 2019 paper; done means an agreed simpler implementation and benchmark results showing its effects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100