New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P1673 A free function linear algebra interface based on the BLAS #557
Comments
This R0 needs to be forwarded by some/all of the relevant SGs before going to LEWG for design review. Removing the LEWG label. |
Mark, if you want some early design review, we can look at this in LEWGI. |
P1673R0 & P1674R0 C++ BLAS Library: Design Feedback Champion: Christian Trott Minute Taker: Tobias Loew Start Overview: 07-16 8:52 Start Review: 9:20 Algorithms are parameterized on a concept, iterators. The proposed linear algebra algorithms are parameterized on a concrete view type, Do people need to spell SG1 needs to review this from a parallelization/vectorization angle. How should we handle outputs in the API? Explore a range-style lazy view API. End: 10:17 CONSENSUS: Bring a revision of P1673R0, exploring conceptification of mdspan and a range-style lazy API, to LEWGI for further design feedback. |
P1673R1 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman, Christian Trott, Daniel Sunderland, Nevin Liber, Siva Rajamanickam, Li-Ta Lo, Graham Lopez, Peter Caday, Sarah Knepper, Piotr Luszczek, Timothy Costa) |
Removing SG6 tag |
Note that the LEWGI feedback from Cologne didn't make it clear that SG1 needs to see this, but they certainly do. Sorry, my mistake. |
This was forwarded to LEWG by SG14 at Cologne. |
P1673R1 Free Function Linear Algebra Library Champion: Mark Hoemmen Minute Taker: Andreas Weis Start Review: 11-05 8:55 Are the algorithms inplace (like sort) or non-modifying (like transform)? Should dimensional errors be checked? If we know them all at compile time, we should check them. Make these constexpr? May not be possible/easy in version 1 - constexprification is ongoing, and you may have dependencies on that. Walking through the matrix multiply code example was very useful. Add more examples showing the use of the views. Do we need to have the mdarray overloads in version 1? Start Polling: 10:12 POLL: We are comfortable with the design of "mdspan transformations" in P1673 (
Attendance: 16 That's got consensus. POLL: Dimensional errors should be checked at compile time (e.g. Mandates clauses) if all dimensions are known at compile time; otherwise, they should be preconditions (e.g. Expects clauses). NO OBJECTION TO UNANIMOUS CONSENT Attendance: 16 POLL: Making the linear algebra algorithms in P1673
Attendance: 16 No consensus. POLL:
Attendance: 17 Weak consensus against. POLL: Conceptifying input and output arguments should be a priority for the initial release.
Attendance: 16 No consensus. Break: 10:22 Resume: 10:44 Start Polling: 11:15 POLL: Packed layouts are a priority for the initial release.
Attendance: 18 SA: I want to start with something as simple as possible. That has consensus. POLL: We are comfortable with the design of NO OBJECTION TO UNANIMOUS CONSENT Attendance: 18 POLL: Linear algebra algorithms that produce a single scalar output should return the output.
Attendance: 18 That has consensus. POLL: The intermediate type used for reduction-style linear algebra algorithms should be the type of the initial value, or the element type derived from the inputs if there is no initial value (e.g. what std::reduce/std::accumulate does).
Attendance: 18 That has consensus. A: I want an explicit template parameter. POLL: Send P1673 (Free Function Linear Algebra Library) to LEWG and SG1.
Attendance: 18 That has consensus. After speaking with the SG1 chair, SG1 doesn't need to see this. End: 11:31 CONSENSUS: LEWGI sends P1673R1 (Free Function Linear Algebra Library), with the guidance below, to LEWG.
|
P1673R2 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman, Christian Trott, Daniel Sunderland, Nevin Liber, Siva Rajamanickam, Li-Ta Lo, Damien Lebrun-Grandie, Graham Lopez, Peter Caday, Sarah Knepper, Piotr Luszczek, Timothy Costa) |
P1673R10 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman,Christian Trott,Daniel Sunderland,Nevin Liber,Alicia KlinvexLi-Ta Lo,Damien Lebrun-Grandie,Graham Lopez,Peter Caday,Sarah Knepper,Piotr Luszczek,Timothy Costa) |
2022-11-10 13:00 to 15:00 UTC-10 Kona Library Evolution MeetingP1673R10: A free function linear algebra interface based on the BLAS 2022-11-10 13:00 to 15:00 UTC-10 Kona Library Evolution Minutes Champion: Christian Trott (in-person) Chair: Bryce Adelstein Lelbach & Corentin Jabot Minute Taker: Steve Downey Start: 2022-11-10 13:10 UTC-10 Could Open Questions:
Action Items:
POLL: The specification of linear algebra algorithms can be hand-wavy (draft poll not taken). POLL: The specification of linear algebra algorithms can be in terms of operators that must exist (draft poll not taken). David Stone formulated the options for this poll. POLL: The description of linear algebra algorithms should be (vote for the options you can tolerate, vote as many times as you like):
Break: 15:00 Resume: 15:24 End: 15:57 Next StepsRevise the paper, with the guidance below, and return to Library Evolution for further design review.
|
P1673R11 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman,Christian Trott,Daniel Sunderland,Nevin Liber,Alicia KlinvexLi-Ta Lo,Damien Lebrun-Grandie,Graham Lopez,Peter Caday,Sarah Knepper,Piotr Luszczek,Timothy Costa) |
2023-02-10 13:00 to 17:30 Issaquah Library Evolution MeetingP1673R11: Linear Algebra 2023-02-10 13:00 to 17:30 UTC-8 Issaquah Library Evolution Minutes Champion: Mark Hoemmen (R) Chair: Bryce Adelstein Lelbach (IP) & Billy Baker (IP) Minute Taker: Steve Downey (IP) Start: 2023-02-10 13:04 UTC-8 Break: 15:15 Resume: 15:32 Does this paper have:
Should this be freestanding? Can any algorithms allocate? If so, should they support allocators? Should POLL: Vote once for the names you like:
Attendance: 19 (in person) + 6 (remote) # of Authors: 3 POLL: Explore replacing
Attendance: 20 (in person) + 7 (remote) # of Authors: 3 Author Position: 3 SA Outcome: Consensus against. POLL: Use words instead of digits for numbers in linear algebra function names -
Attendance: 18 (in person) + 7 (remote) # of Authors: 3 Author Position: WA, 2 N Outcome: No consensus for change. POLL: Replace
Attendance: 19 (in person) + 7 (remote) # of Authors: 3 Author Position: 2 SF, 1 WF Outcome: Consensus in favor. SA: I think the original made more sense to me. POLL: Remove the constexpr variables of
Attendance: 19 (in person) + 8 (remote) # of Authors: 3 Author Position: 1 WA, 2 SA Outcome: No consensus for change. Wording Volunteers:
Editorial Action Items:
Design Action Items:
POLL: Modify P1673R11 (Linear Algebra) as described below, and then send the revised paper to Library for C++26 classified as B3 - addition, to be confirmed with a Library Evolution electronic poll.
Attendance: 19 (in person) + 7 (remote) # of Authors: 3 Author Position: 3 SF Outcome: Unanimous consensus in favor End: 17:40 SummaryWe extensively reviewed P1673, the BLAS Linear Algebra proposal. We've seen this paper a number of times before; our goal in this review was to identify any remaining open design questions. We first reviewed the exposition-only concepts, and decided to check if the element type can be assigned to the reference type, instead of checking if the element type is const. We also didn't remove const from the element type in We found a number of places in the specification where linear algebra value types are passed by const reference where they should be passed by value. The authors will fix this so that we consistently pass these types by value. We discussed some inconsistencies in the spelling of algorithms that contain "norm" in their name. To resolve this, we decided to rename When reviewing the We also wanted to add overloads that do not take a scaling parameter to the BLAS 3 At the conclusion of our review, we had not identified any significant open questions or design changes. So, we took a vote to make the requested modifications to the paper and then send it to Library for C++23, and we had unanimous consensus in favor. Next StepsModify P1673R11 (Linear Algebra) as described below, and then take a Library Evolution electronic poll to send the revised paper to Library for C++26 classified as B3 - addition,
|
P1673R12 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman,Christian Trott,Daniel Sunderland,Nevin Liber,Alicia KlinvexLi-Ta Lo,Damien Lebrun-Grandie,Graham Lopez,Peter Caday,Sarah Knepper,Piotr Luszczek,Timothy Costa) |
2023-05 Library Evolution Electronic Poll OutcomesPoll 1: Send [[P1673R12]] BLAS Linear Algebra to Library Working Group for C++26.
Outcome: Consensus in favor. |
P1673R0 A free function linear algebra interface based on the BLAS (Mark Hoemmen, Daisy Hollman, Christian Trott, Daniel Sunderland, Nevin Liber, Siva Rajamanickam, Li-Ta Lo, Graham Lopez, Peter Caday, Sarah Knepper, Piotr Luszczek, Timothy Costa)
The text was updated successfully, but these errors were encountered: