P1673: "Parallel algorithms" wording is circular
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 29
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
[linalg.algs.reqs] claims that "[a]lgorithms [in this section] that have a template parameter named ExecutionPolicy are parallel algorithms." This is circular and redundant per [algorithms.parallel.defns] 2. If the algorithm takes ExecutionPolicy, it's a parallel algorithm (not the other way around).
More importantly, [algorithms.parallel.defns] imposes requirements on "element access functions," but none of those relate to mdspan array access. It's possible that 3.3 or 3.4 cover this case, but we'll need to make sure.
I moved this issue from https://github.com/kokkos/stdBLAS/issues/183 to here.
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 [linalg.algs.reqs] wording and compare it with [algorithms.parallel.defns], especially paragraph 2 and the requirements on element access functions. Check whether paragraphs 3.3 or 3.4 cover mdspan array access, then revise the affected standard wording so the parallel-algorithm definition is non-circular and the applicability to mdspan is clear.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100