Date: Wed, 23 Apr 2025 12:09:39 -0400
Meeting notes
On Wed, Apr 9, 2025 at 1:46 PM Michael Wong <fraggamuffin_at_[hidden]> wrote:
> Hi, this SG19 meeting will focus on these papers:
>
> 1. D3126 Overview
> 2. D3127 Background & Terminology
> 3. D3128 Algorithms
> 4. D3129 Views
> 5. D3130 Graph Container Interface
>
>
> The first two are Andrew's changes. A lot of the updates comes from the
> introduction of descriptors, though the actual change is to simplify the
> proposal overall.
>
> In the algorithms, DFS had an empty spot, so I added it. BFS & Topological
> Sort have been updated to reflect similar behavior as shortest paths.
>
> I also know that Richard has updates for Stats.
>
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG19 monthly
> Time: 2nd Thursdays 02:00 PM Eastern Time (US and Canada)
> Every month on the Second Thu,
>
>
> Join from PC, Mac, Linux, iOS or Android:
>
> https://iso.zoom.us/j/93084591725?pwd=K3QxZjJlcnljaE13ZWU5cTlLNkx0Zz09
> Password: 035530
>
> Or iPhone one-tap :
> US: +13017158592,,93084591725# or +13126266799,,93084591725#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 301 715 8592 or +1 312 626 6799 or +1 346 248 7799 or +1
> 408 638 0968 or +1 646 876 9923 or +1 669 900 6833 or +1 253 215 8782
> or 877 853 5247 (Toll Free)
> Meeting ID: 930 8459 1725
> Password: 035530
> International numbers available: https://iso.zoom.us/u/agewu4X97
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93084591725
>
> Agenda:
>
> 1. Opening and introductions
>
> The ISO Code of conduct:
> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf
>
> IEC Code of Conduct:
>
> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>
> ISO patent policy.
>
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> The WG21 Practices and Procedures and Code of Conduct:
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
> Phil, Pete, Richard, Michael . Samuel, Andrew
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
>
>
>
> * Jan 9, 2025 02:00 PM ET: Cancelled
> * Feb 13, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 13, 2025 02:00 PM ET: Graph
> * Apr 10, 2025 02:00 PM ET: Stats
> * May 8, 2025 02:00 PM ET: Graph
> * June 12, 2025 02:00 PM ET: Stats Sofia F2F
> * July 10, 2025 02:00 PM ET: Graphs
> * Aug 14, 2025 02:00 PM ET: Stats
> * Sep 11, 2025 02:00 PM ET: Graph, CPPCON Sept 14
> * Oct 9, 2025 02:00 PM ET: Stats
> * Nov 13, 2025 02:00 PM ET: Graph, F2F
> * Dec 11, 2025 02:00 PM ET: Stats
>
>
> ISO meeting status
>
> future C++ Std meetings
>
> 2.2 Paper reviews
>
>
The group reviewed updates to five papers, focusing on descriptors in graph
algorithms, which reduce interface complexity and improve performance. They
also discussed the implementation of accumulator objects for statistical
functions, considering compile-time configuration to avoid runtime
overhead. The need for further experimentation and potential delay of the
accumulator to a second paper was suggested. The meeting concluded with
plans to publish updated papers by April 15 for a potential vote in May.
Action Items
- [ ] Publish the updated papers by this weekend so they can be reviewed
before the next meeting.
- [ ] Perform a final review to ensure any internal comments are removed
from the published papers.
- [ ] Provide the updated paper versions to the group for further review
and feedback.
- [ ] We intend to put these papers to a vote to exit SG19 in the May
8th SG19 meeting based on the updated papers from updates for the graph
proposal that have been added to the 2025-04 mailing (ISO/IEC
JTC1/SC22/WG21 - Papers 2025
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/>). Feedback
welcome.
-
P3126R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3126r3.pdf> Graph
Library: Overview Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04
P3126R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3126r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3127R1
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3127r1.pdf> Graph
Library: Background and Terminology Phil Ratzloff, Andrew Lumsdaine
2025-04-13 2025-04 P3127R0
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3127r0.pdf> SG14
Low Latency,SG19 Machine Learning
P3128R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3128r3.pdf> Graph
Library: Algorithms Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04
P3128R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3128r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3129R1
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3129r1.pdf> Graph
Library: Views Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04 P3129R0
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3129r0.pdf> SG14
Low Latency,SG19 Machine Learning
P3130R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3130r3.pdf> Graph
Library: Graph Container Interface Phil Ratzloff, Andrew Lumsdaine
2025-04-13 2025-04 P3130R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3130r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3131R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3131r3.pdf> Graph
Library: Graph Containers Phil Ratzloff, Andrew Lumsdaine 2025-04-13
2025-04 P3131R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3131r2.pdf> SG14
Low Latency,SG19 Machine Learning
Discussion on Meeting Logistics and Papers
- Phil discusses the graph container interface paper, focusing on
descriptors and their impact on the interface.
- The discussion includes the benefits of descriptors in reducing the
size of the interface and the implications for algorithms and views.
Implementation and Performance Implications
- Phil and Andrew continues to discuss the implementation and
performance implications of the descriptors, noting that benchmarks are
being conducted.
- The discussion includes the impact of descriptors on the number of
concepts needed to describe an adjacency list and the reduction in function
requirements.
- There are questions about the performance implications of the
descriptors, and Andrew mentions ongoing benchmarks to compare performance.
- The discussion includes the need to publish the updated papers for
review and the importance of addressing Oliver's comments.
Algorithms and Visitor Concepts
- Phil discusses the algorithms paper, noting the addition of visitor
concepts for BFS, DFS, and topological sort.
- The discussion includes the importance of having visitor concepts for
multi-source BFS and the need to update preconditions and effects.
- There are questions about the implementation and the need to address
Oliver's comments, with a focus on making the paper ready for review.
- The discussion includes the importance of publishing the updated
papers and the need to address any missing sections or implementations.
Overview and Terminology Paper
- The discussion shifts to the overview and terminology paper, with a
focus on addressing Oliver's comments and ensuring the paper is ready for
review.
- There are questions about the completeness of the paper and the need
to remove any internal comments or incomplete references.
- The discussion includes the importance of publishing the updated paper
and the need to address any missing sections or implementations.
- Phil emphasizes the need to publish the updated paper by April 15 to
allow for a vote in the next meeting.
Accumulator Object and Statistical Functions
- The discussion shifts to the accumulator object and statistical
functions, with a focus on the need for further experimentation and design.
- Richard mentions the challenges of implementing the accumulator object
and the need to delay it to the second paper.
- The discussion includes the importance of having a standalone function
for computing all statistics and the need to address the confusion between
size and count.
- Richard emphasizes the need to address the design of the accumulator
object and the importance of having a clear and efficient implementation.
Template-Based Design and Compile-Time Configuration
- The discussion includes the possibility of using template-based design
and compile-time configuration to address the challenges of the accumulator
object.
- Richard mentions the potential benefits of using templates and
meta-programming to generate specialized code for the accumulator object.
- The discussion includes the importance of having a type-safe and
efficient implementation and the need to address the challenges of
compile-time configuration.
- Richard emphasizes the need to explore different design approaches and
the importance of having a clear and efficient implementation.
> For graph, we have a new draft of P3337 Comparison paper that compares the
> library in performance against boost::graph and NWGraph.
>
> If Andrew is able to attend, he should be able to review the changes he's
> made to P3126 and P3127.
>
>
> P3495 from Oliver/Mark
>
> >From Phil: There are updates to the P3126 Overview and P3127 Background
> and
> Terminology papers for the Graph Library. They haven’t been published yet,
> but it would be helpful to get input on them before they’re published.
>
>
>
> Since the changes are a response to Oliver’s concerns, I think Oliver and
> Andrew would need to attend to make it useful to have a session for the
> Graph Library. Unless they want to do that, I think we can send draft
> versions to the reflector, unless there’s a better idea.
>
>
> Review BSI Graph feedback:
> As Oliver (Rosten) said "The basic premise is important, and it would be
> fantastic to have support for graphs in the standard."
>
> The main items identified were:
> Oliver:
> - This paper is long and incomplete, it has lots of details which I think
> to be irrelevant, however things that are definitely relevant are missing
> from the paper - for example definition of graph - since people have
> different ideas. We need to add a mathematical perspective to the paper.
>
> - The structure of the paper completely changed in the new revision, so now
> it’s hard to understand what and why they have done
>
> - Another missing part is discussion of graph invariants
>
> Tom (Deakin): There’s a big missing part in “Prior art” part, GraphBLAS (
> https://graphblas.org) eminently.
>
> Some other things to add:
>
> 1. The electrical circuit example needs more explanation, and I think this
> will highlight some deep issues around representing things which are
> seemingly trivially graphs, as graphs in practice. In what sense is a
> bog-standard resistor directed? I assume the reason that the graph is
> directed is because current has a sign and in an undirected graph it
> becomes ambiguous which way the current is flowing (also you may want
> components like diodes). But the directed representation also has issues:
> "can current flow from 'Vdd' to 'n0'?" should be immediately answerable
> from the properties of Vdd and its edges. There are other ways to represent
> an electrical circuit. One is as a directed graph but with incident edges
> recorded - but iiuc, this is excluded from the latest version of the paper.
> Alternatively, one could have a mathematical object, the name of which I
> actually don't know: it looks like an undirected graph, but where each
> partial edge has additional, unique, end-point data, as well as the common
> weight. Things like this are the reason why I think we need a broader group
> to look at this proposal (i.e. beyond SG19) and if we possibly can we
> should involve someone from the mathematics community. Otherwise there's a
> real danger we end up missing important insights.
>
> 2. My comment about the structure of the paper changing was a reference to
> previous comparisons with boost::graph. I'm sure these were in an earlier
> version, or am I misremembering? Either way, it would be very helpful to
> have a proper discussion of e.g. the move away from visitors.
>
> 3. Re. the definition of a graph, there needs to be a proper discussion
> about whether the paper's definition of graph is what some authors call a
> multigraph and whether it does/does not include loops. These things are
> mentioned, in passing, when introducing algorithms, but terminology needs
> to be properly established.
>
> 4. I think we're trying to do too much in one go in this paper. I think a
> great first step would be to build on mdspan and try to standardize (or at
> least understand) what might reasonably be called an unstructured span.
> This could be represented as a vector of vectors or as a vector with some
> auxiliary storage indicating where the partitions fall. The point is that
> an unstructured span, with the right invariants, is an adjacency list. If
> we can understand unstructured span and its desirable api, I think this
> will be incredibly valuable guidance for what a standardized graph
> container might look like.
>
> 5. IIUC, this paper excludes pure connectivity graphs. These are incredibly
> helpful and, if I've understood correctly that they are not supported,
> would be a major omission. Another good reason, imo, to start with
> unstructured span!
>
> 6. I'm not convinced by the load api. We don't have a load api for vector
> etc. Moreover, would it not be preferable to have appropriate constructors?
>
>
> 2.2.1: ML topics
>
> 2.2.1.1 Graph Proposal Phil Ratsloff et al
>
> Latest paper:
>
> Here’s a link to the paper (different than the previous paper reviewed).
> There are some additional updates I’m planning on making before the
> meeting.
>
>
> https://docs.google.com/document/d/1OpH-xxRri7tJTtJJIZTYmSHkkrZJkdBwm9zJ7LqolfQ/edit?usp=sharing
>
>
>
>
> P1709R3:
>
> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing
>
>
> https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/edit?usp=sharing
>
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>
>
> <
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
> *>*
>
> Array copy semantics:
> array copy-semantics paper P1997 "Relaxing Restrictions on Arrays",
> https://wg21.link/p1997
>
> Stats feedback:
>
> P2376R0
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2376r0.pdf>
> Comments
> on Simple Statistical Functions (p1708r4): Contracts, Exceptions and
> Special cases Johan Lundberg
>
> 2.2.1.2 Reinforcement Learning Larry Lewis Jorge Silva
>
> Reinforcement Learning proposal:
>
> 2.2.1.3 Differential Calculus:
>
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
>
> 2.2.1.4: Stats paper
>
> P2681R0
> <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2681r0.pdf>
> More
> Stats Functions Richard Dosselmann, Michael Wong
> Current github
>
> https://github.com/cplusplus/papers/issues/475
>
> https://github.com/cplusplus/papers/issues/979
>
> Stats review Richard Dosselman et al
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1708r4.pdf
>
> Feedback from Johan Lundberg and Oleksandr Korval
>
> https://isocpp.org/files/papers/D2376R0.pdf
>
> P1708R3: Math proposal for Machine Learning: 3rd review
>
> PXXXX: combinatorics: 1st Review
>
> *> std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2
> <http://std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2>*
> *> above is the stats paper that was reviewed in Prague*
> *> http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
> <http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19>*
> *>*
> *> Review Jolanta Polish feedback.*
> *> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>*
>
>
> 2.2.1.4: Matrix paper
>
> 2.2.3 any other proposal for reviews?
>
> 2.3 Other Papers and proposals
>
> P1416R1: SG19 - Linear Algebra for Data Science and Machine Learning
>
> https://docs.google.com/document/d/1IKUNiUhBgRURW-UkspK7fAAyIhfXuMxjk7xKikK4Yp8/edit#heading=h.tj9hitg7dbtr
>
> P1415: Machine Learning Layered list
>
> https://docs.google.com/document/d/1elNFdIXWoetbxjO1OKol_Wj8fyi4Z4hogfj5tLVSj64/edit#heading=h.tj9hitg7dbtr
>
> 2.2.2 SG14 Linear Algebra progress:
> Different layers of proposal
>
> https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> None
>
> 3. Any other business
>
> New reflector
>
> http://lists.isocpp.org/mailman/listinfo.cgi/sg19
>
> Old Reflector
> https://groups.google.com/a/isocpp.org/forum/#!newtopic/sg19
> <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14>
>
> Code and proposal Staging area
>
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
>
> 5.2 Future meeting
> * Jan 9, 2025 02:00 PM ET: Cancelled
> * Feb 13, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 13, 2025 02:00 PM ET: Graph
> * Apr 10, 2025 02:00 PM ET: Stats
> * May 8, 2025 02:00 PM ET: Graph
> * June 12, 2025 02:00 PM ET: Stats
> * July 10, 2025 02:00 PM ET: Graphs
> * Aug 14, 2025 02:00 PM ET: Stats
> * Sep 11, 2025 02:00 PM ET: Graph, CPPCON
> * Oct 9, 2025 02:00 PM ET: Stats
> * Nov 13, 2025 02:00 PM ET: Graph
> * Dec 11, 2025 02:00 PM ET: Stats
>
On Wed, Apr 9, 2025 at 1:46 PM Michael Wong <fraggamuffin_at_[hidden]> wrote:
> Hi, this SG19 meeting will focus on these papers:
>
> 1. D3126 Overview
> 2. D3127 Background & Terminology
> 3. D3128 Algorithms
> 4. D3129 Views
> 5. D3130 Graph Container Interface
>
>
> The first two are Andrew's changes. A lot of the updates comes from the
> introduction of descriptors, though the actual change is to simplify the
> proposal overall.
>
> In the algorithms, DFS had an empty spot, so I added it. BFS & Topological
> Sort have been updated to reflect similar behavior as shortest paths.
>
> I also know that Richard has updates for Stats.
>
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG19 monthly
> Time: 2nd Thursdays 02:00 PM Eastern Time (US and Canada)
> Every month on the Second Thu,
>
>
> Join from PC, Mac, Linux, iOS or Android:
>
> https://iso.zoom.us/j/93084591725?pwd=K3QxZjJlcnljaE13ZWU5cTlLNkx0Zz09
> Password: 035530
>
> Or iPhone one-tap :
> US: +13017158592,,93084591725# or +13126266799,,93084591725#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 301 715 8592 or +1 312 626 6799 or +1 346 248 7799 or +1
> 408 638 0968 or +1 646 876 9923 or +1 669 900 6833 or +1 253 215 8782
> or 877 853 5247 (Toll Free)
> Meeting ID: 930 8459 1725
> Password: 035530
> International numbers available: https://iso.zoom.us/u/agewu4X97
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93084591725
>
> Agenda:
>
> 1. Opening and introductions
>
> The ISO Code of conduct:
> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf
>
> IEC Code of Conduct:
>
> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>
> ISO patent policy.
>
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> The WG21 Practices and Procedures and Code of Conduct:
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
> Phil, Pete, Richard, Michael . Samuel, Andrew
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
>
>
>
> * Jan 9, 2025 02:00 PM ET: Cancelled
> * Feb 13, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 13, 2025 02:00 PM ET: Graph
> * Apr 10, 2025 02:00 PM ET: Stats
> * May 8, 2025 02:00 PM ET: Graph
> * June 12, 2025 02:00 PM ET: Stats Sofia F2F
> * July 10, 2025 02:00 PM ET: Graphs
> * Aug 14, 2025 02:00 PM ET: Stats
> * Sep 11, 2025 02:00 PM ET: Graph, CPPCON Sept 14
> * Oct 9, 2025 02:00 PM ET: Stats
> * Nov 13, 2025 02:00 PM ET: Graph, F2F
> * Dec 11, 2025 02:00 PM ET: Stats
>
>
> ISO meeting status
>
> future C++ Std meetings
>
> 2.2 Paper reviews
>
>
The group reviewed updates to five papers, focusing on descriptors in graph
algorithms, which reduce interface complexity and improve performance. They
also discussed the implementation of accumulator objects for statistical
functions, considering compile-time configuration to avoid runtime
overhead. The need for further experimentation and potential delay of the
accumulator to a second paper was suggested. The meeting concluded with
plans to publish updated papers by April 15 for a potential vote in May.
Action Items
- [ ] Publish the updated papers by this weekend so they can be reviewed
before the next meeting.
- [ ] Perform a final review to ensure any internal comments are removed
from the published papers.
- [ ] Provide the updated paper versions to the group for further review
and feedback.
- [ ] We intend to put these papers to a vote to exit SG19 in the May
8th SG19 meeting based on the updated papers from updates for the graph
proposal that have been added to the 2025-04 mailing (ISO/IEC
JTC1/SC22/WG21 - Papers 2025
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/>). Feedback
welcome.
-
P3126R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3126r3.pdf> Graph
Library: Overview Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04
P3126R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3126r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3127R1
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3127r1.pdf> Graph
Library: Background and Terminology Phil Ratzloff, Andrew Lumsdaine
2025-04-13 2025-04 P3127R0
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3127r0.pdf> SG14
Low Latency,SG19 Machine Learning
P3128R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3128r3.pdf> Graph
Library: Algorithms Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04
P3128R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3128r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3129R1
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3129r1.pdf> Graph
Library: Views Phil Ratzloff, Andrew Lumsdaine 2025-04-13 2025-04 P3129R0
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3129r0.pdf> SG14
Low Latency,SG19 Machine Learning
P3130R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3130r3.pdf> Graph
Library: Graph Container Interface Phil Ratzloff, Andrew Lumsdaine
2025-04-13 2025-04 P3130R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3130r2.pdf> SG14
Low Latency,SG19 Machine Learning
P3131R3
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3131r3.pdf> Graph
Library: Graph Containers Phil Ratzloff, Andrew Lumsdaine 2025-04-13
2025-04 P3131R2
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3131r2.pdf> SG14
Low Latency,SG19 Machine Learning
Discussion on Meeting Logistics and Papers
- Phil discusses the graph container interface paper, focusing on
descriptors and their impact on the interface.
- The discussion includes the benefits of descriptors in reducing the
size of the interface and the implications for algorithms and views.
Implementation and Performance Implications
- Phil and Andrew continues to discuss the implementation and
performance implications of the descriptors, noting that benchmarks are
being conducted.
- The discussion includes the impact of descriptors on the number of
concepts needed to describe an adjacency list and the reduction in function
requirements.
- There are questions about the performance implications of the
descriptors, and Andrew mentions ongoing benchmarks to compare performance.
- The discussion includes the need to publish the updated papers for
review and the importance of addressing Oliver's comments.
Algorithms and Visitor Concepts
- Phil discusses the algorithms paper, noting the addition of visitor
concepts for BFS, DFS, and topological sort.
- The discussion includes the importance of having visitor concepts for
multi-source BFS and the need to update preconditions and effects.
- There are questions about the implementation and the need to address
Oliver's comments, with a focus on making the paper ready for review.
- The discussion includes the importance of publishing the updated
papers and the need to address any missing sections or implementations.
Overview and Terminology Paper
- The discussion shifts to the overview and terminology paper, with a
focus on addressing Oliver's comments and ensuring the paper is ready for
review.
- There are questions about the completeness of the paper and the need
to remove any internal comments or incomplete references.
- The discussion includes the importance of publishing the updated paper
and the need to address any missing sections or implementations.
- Phil emphasizes the need to publish the updated paper by April 15 to
allow for a vote in the next meeting.
Accumulator Object and Statistical Functions
- The discussion shifts to the accumulator object and statistical
functions, with a focus on the need for further experimentation and design.
- Richard mentions the challenges of implementing the accumulator object
and the need to delay it to the second paper.
- The discussion includes the importance of having a standalone function
for computing all statistics and the need to address the confusion between
size and count.
- Richard emphasizes the need to address the design of the accumulator
object and the importance of having a clear and efficient implementation.
Template-Based Design and Compile-Time Configuration
- The discussion includes the possibility of using template-based design
and compile-time configuration to address the challenges of the accumulator
object.
- Richard mentions the potential benefits of using templates and
meta-programming to generate specialized code for the accumulator object.
- The discussion includes the importance of having a type-safe and
efficient implementation and the need to address the challenges of
compile-time configuration.
- Richard emphasizes the need to explore different design approaches and
the importance of having a clear and efficient implementation.
> For graph, we have a new draft of P3337 Comparison paper that compares the
> library in performance against boost::graph and NWGraph.
>
> If Andrew is able to attend, he should be able to review the changes he's
> made to P3126 and P3127.
>
>
> P3495 from Oliver/Mark
>
> >From Phil: There are updates to the P3126 Overview and P3127 Background
> and
> Terminology papers for the Graph Library. They haven’t been published yet,
> but it would be helpful to get input on them before they’re published.
>
>
>
> Since the changes are a response to Oliver’s concerns, I think Oliver and
> Andrew would need to attend to make it useful to have a session for the
> Graph Library. Unless they want to do that, I think we can send draft
> versions to the reflector, unless there’s a better idea.
>
>
> Review BSI Graph feedback:
> As Oliver (Rosten) said "The basic premise is important, and it would be
> fantastic to have support for graphs in the standard."
>
> The main items identified were:
> Oliver:
> - This paper is long and incomplete, it has lots of details which I think
> to be irrelevant, however things that are definitely relevant are missing
> from the paper - for example definition of graph - since people have
> different ideas. We need to add a mathematical perspective to the paper.
>
> - The structure of the paper completely changed in the new revision, so now
> it’s hard to understand what and why they have done
>
> - Another missing part is discussion of graph invariants
>
> Tom (Deakin): There’s a big missing part in “Prior art” part, GraphBLAS (
> https://graphblas.org) eminently.
>
> Some other things to add:
>
> 1. The electrical circuit example needs more explanation, and I think this
> will highlight some deep issues around representing things which are
> seemingly trivially graphs, as graphs in practice. In what sense is a
> bog-standard resistor directed? I assume the reason that the graph is
> directed is because current has a sign and in an undirected graph it
> becomes ambiguous which way the current is flowing (also you may want
> components like diodes). But the directed representation also has issues:
> "can current flow from 'Vdd' to 'n0'?" should be immediately answerable
> from the properties of Vdd and its edges. There are other ways to represent
> an electrical circuit. One is as a directed graph but with incident edges
> recorded - but iiuc, this is excluded from the latest version of the paper.
> Alternatively, one could have a mathematical object, the name of which I
> actually don't know: it looks like an undirected graph, but where each
> partial edge has additional, unique, end-point data, as well as the common
> weight. Things like this are the reason why I think we need a broader group
> to look at this proposal (i.e. beyond SG19) and if we possibly can we
> should involve someone from the mathematics community. Otherwise there's a
> real danger we end up missing important insights.
>
> 2. My comment about the structure of the paper changing was a reference to
> previous comparisons with boost::graph. I'm sure these were in an earlier
> version, or am I misremembering? Either way, it would be very helpful to
> have a proper discussion of e.g. the move away from visitors.
>
> 3. Re. the definition of a graph, there needs to be a proper discussion
> about whether the paper's definition of graph is what some authors call a
> multigraph and whether it does/does not include loops. These things are
> mentioned, in passing, when introducing algorithms, but terminology needs
> to be properly established.
>
> 4. I think we're trying to do too much in one go in this paper. I think a
> great first step would be to build on mdspan and try to standardize (or at
> least understand) what might reasonably be called an unstructured span.
> This could be represented as a vector of vectors or as a vector with some
> auxiliary storage indicating where the partitions fall. The point is that
> an unstructured span, with the right invariants, is an adjacency list. If
> we can understand unstructured span and its desirable api, I think this
> will be incredibly valuable guidance for what a standardized graph
> container might look like.
>
> 5. IIUC, this paper excludes pure connectivity graphs. These are incredibly
> helpful and, if I've understood correctly that they are not supported,
> would be a major omission. Another good reason, imo, to start with
> unstructured span!
>
> 6. I'm not convinced by the load api. We don't have a load api for vector
> etc. Moreover, would it not be preferable to have appropriate constructors?
>
>
> 2.2.1: ML topics
>
> 2.2.1.1 Graph Proposal Phil Ratsloff et al
>
> Latest paper:
>
> Here’s a link to the paper (different than the previous paper reviewed).
> There are some additional updates I’m planning on making before the
> meeting.
>
>
> https://docs.google.com/document/d/1OpH-xxRri7tJTtJJIZTYmSHkkrZJkdBwm9zJ7LqolfQ/edit?usp=sharing
>
>
>
>
> P1709R3:
>
> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing
>
>
> https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/edit?usp=sharing
>
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>
>
> <
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
> *>*
>
> Array copy semantics:
> array copy-semantics paper P1997 "Relaxing Restrictions on Arrays",
> https://wg21.link/p1997
>
> Stats feedback:
>
> P2376R0
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2376r0.pdf>
> Comments
> on Simple Statistical Functions (p1708r4): Contracts, Exceptions and
> Special cases Johan Lundberg
>
> 2.2.1.2 Reinforcement Learning Larry Lewis Jorge Silva
>
> Reinforcement Learning proposal:
>
> 2.2.1.3 Differential Calculus:
>
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
>
> 2.2.1.4: Stats paper
>
> P2681R0
> <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2681r0.pdf>
> More
> Stats Functions Richard Dosselmann, Michael Wong
> Current github
>
> https://github.com/cplusplus/papers/issues/475
>
> https://github.com/cplusplus/papers/issues/979
>
> Stats review Richard Dosselman et al
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1708r4.pdf
>
> Feedback from Johan Lundberg and Oleksandr Korval
>
> https://isocpp.org/files/papers/D2376R0.pdf
>
> P1708R3: Math proposal for Machine Learning: 3rd review
>
> PXXXX: combinatorics: 1st Review
>
> *> std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2
> <http://std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2>*
> *> above is the stats paper that was reviewed in Prague*
> *> http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
> <http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19>*
> *>*
> *> Review Jolanta Polish feedback.*
> *> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>*
>
>
> 2.2.1.4: Matrix paper
>
> 2.2.3 any other proposal for reviews?
>
> 2.3 Other Papers and proposals
>
> P1416R1: SG19 - Linear Algebra for Data Science and Machine Learning
>
> https://docs.google.com/document/d/1IKUNiUhBgRURW-UkspK7fAAyIhfXuMxjk7xKikK4Yp8/edit#heading=h.tj9hitg7dbtr
>
> P1415: Machine Learning Layered list
>
> https://docs.google.com/document/d/1elNFdIXWoetbxjO1OKol_Wj8fyi4Z4hogfj5tLVSj64/edit#heading=h.tj9hitg7dbtr
>
> 2.2.2 SG14 Linear Algebra progress:
> Different layers of proposal
>
> https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> None
>
> 3. Any other business
>
> New reflector
>
> http://lists.isocpp.org/mailman/listinfo.cgi/sg19
>
> Old Reflector
> https://groups.google.com/a/isocpp.org/forum/#!newtopic/sg19
> <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14>
>
> Code and proposal Staging area
>
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
>
> 5.2 Future meeting
> * Jan 9, 2025 02:00 PM ET: Cancelled
> * Feb 13, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 13, 2025 02:00 PM ET: Graph
> * Apr 10, 2025 02:00 PM ET: Stats
> * May 8, 2025 02:00 PM ET: Graph
> * June 12, 2025 02:00 PM ET: Stats
> * July 10, 2025 02:00 PM ET: Graphs
> * Aug 14, 2025 02:00 PM ET: Stats
> * Sep 11, 2025 02:00 PM ET: Graph, CPPCON
> * Oct 9, 2025 02:00 PM ET: Stats
> * Nov 13, 2025 02:00 PM ET: Graph
> * Dec 11, 2025 02:00 PM ET: Stats
>
Received on 2025-04-23 16:09:58