Date: Mon, 12 May 2025 12:30:18 -0400
On Tue, May 6, 2025 at 11:45 AM Michael Wong <fraggamuffin_at_[hidden]> wrote:
> Hi all, for tomorrow's SG14 meeting, we can discuss Patrice game paper,
> and Khalil's paper which he posted to the reflector yesterday.
>
> Are there any other papers of interest? Thanks.
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 monthly
> Time: 2nd Wednesdays 02:00 PM Eastern Time (US and Canada)
> Every month on the Second Wed,
>
> Join from PC, Mac, Linux, iOS or Android:
> https://iso.zoom.us/j/93151864365?pwd=aDhOcDNWd2NWdTJuT1loeXpKbTcydz09
> Password: 789626
>
> Or iPhone one-tap :
> US: +12532158782,,93151864365# or +13017158592,,93151864365#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 253 215 8782 or +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 877 853 5247 (Toll Free)
> Meeting ID: 931 5186 4365
> Password: 789626
> International numbers available: https://iso.zoom.us/u/abRrVivZoD
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93151864365
>
> Agenda:
>
> 1. Opening and introduction
>
> ISO Code of Conduct
> <
>
> https://isotc.iso.org/livelink/livelink?func=ll&objId=20882226&objAction=Open&nexturl=%2Flivelink%2Flivelink%3Ffunc%3Dll%26objId%3D20158641%26objAction%3Dbrowse%26viewType%3D1
> *>*
>
> ISO patent policy.
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> IEC Code of Conduct:
>
> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>
> WG21 Code of Conduct:
>
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
Paul, Andre, Andrew D, Arthur O, Bryan, Gianluca, Guy, Jens, John M,
Khalil, Michael , Scott D, Michel L
>
>
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from the 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
>
> 2025 planning
>
> CPPCON SG14/19
>
> Future and past meeting plans
>
> * Jan 8, 2025 02:00 PM ET: Cancelled
> * Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 12, 2025 02:00 PM ET: DST cancelled
> * Apr 9, 2025 02:00 PM ET: Finance
> * May 7, 2025 02:00 PM ET: Games
> * June 11, 2025 02:00 PM ET: Sofia F2F
> * July 9, 2025 02:00 PM ET: Embedded
> * Aug 13, 2025 02:00 PM ET: Finance
> * Sep 10, 2025 02:00 PM ET: CPPCON 9/14
> * Oct 8, 2025 02:00 PM ET: Games
> * Nov 12, 2025 02:00 PM ET: F2F
> * Dec 10, 2025 02:00 PM ET: Embedded
>
>
> 2.2 Paper reviews
>
The meeting discussed the proposal to enhance the inline keyword in C++ to
provide standardized inlining behavior, reducing the need for
compiler-specific attributes. Key points included the need for backward
compatibility, the potential for a "force inline" attribute, and the
importance of maintaining performance. The second proposal aimed to
standardize floating-point arithmetic for reproducible results, considering
options like new library types, functions, and pairwise reduction
techniques. Feedback emphasized the need for clear specifications and
compatibility with existing code, and the importance of addressing
performance implications.
Action Items
- [ ] Incorporate the feedback and prepare revision 3 of the inline
keyword proposal.
- [ ] Send the updated proposal to the reflector and SG6 for further
review.
Outline
Introduction to Paper P3676
- Khalil introduces the paper P3676, focusing on enhancing the inline
keyword in C++.
- The paper aims to provide a standard inline keyword to hint the
compiler about inlining, reducing the need for compiler-specific attributes.
- Khalil explains the current limitations of the inline keyword and
the proposed changes to make it more versatile.
- The paper includes examples and use cases, highlighting the benefits
of standardizing inline behavior.
Feedback and Discussion on the Inline Proposal
- concerns about the compatibility of the inline keyword with existing
code and the need for backward compatibility.
- suggests separating the semantic meaning of the inline keyword from
the non-semantic meaning, using attributes for the latter.
- discuss the potential need for a "force inline" attribute to ensure
compilers adhere to the specified behavior.
- Khalil acknowledges the feedback and mentions the possibility of
revising the paper based on the discussion.
Reproducible Floating Point Results Proposal
- Guy introduces the proposal for reproducible floating point results in
C++, addressing the lack of standardization in floating point arithmetic.
- The proposal aims to ensure that floating point operations produce the
same results on different platforms, crucial for applications like
scientific computing and video games.
- Guy outlines various approaches, including using compiler options,
fences, and new library types, to achieve reproducibility.
- The discussion includes feedback from other participants, suggesting
the use of functions instead of new types and the importance of maintaining
performance.
Pairwise Reduction Techniques
- introduces the concept of pairwise reduction to improve the accuracy
of floating point operations.
- The technique involves splitting the summation of floating point
values into pairs, reducing the accumulation errors.
- discuss the implementation details and the potential benefits of
pairwise reduction.
- The conversation highlights the need for a well-defined sequence to
ensure reproducibility across different instruction sets.
> Embedded:
> * P3132 Accept attributes with user-defined prefixes
> * P3134 Attribute [[asserts_rvo]]
> Deterministic Exception for Embedded by James Renwick
>
> https://www.pure.ed.ac.uk/ws/portalfiles/portal/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf
>
> Freestanding Updates
>
> Games paper review
>
> Arthur's suggestions:
> (1) I put in the Slack channel
> <https://cpplang.slack.com/archives/C3TK2M6HH/p1703947057425609> a while
> ago Clang PR #76596 <https://github.com/llvm/llvm-project/pull/76596>,
> from
> one Max Winkler, apparently in game dev. I don't think the PR stands much
> chance of getting merged into Clang; but it might still be of interest to
> SG14 folks. The issue description is very long and somewhat detailed, and
> then there's more discussion/debate in the comments
> <https://github.com/llvm/llvm-project/pull/76596#issuecomment-1872601156>.
> (I'd actually be interested in talking to Max, but he doesn't publish his
> email address on GitHub and I guess that might be on purpose.)
>
> (2) LEWG will be seeing my P3055 "Relax wording to permit relocation
> optimizations in the STL"
> <https://quuxplusone.github.io/draft/d3055-relocation.html> in a telecon
> on
> February 20th. (Related blog post.
> <https://quuxplusone.github.io/blog/2024/01/02/bsl-vector-erase/>) Might
> be interesting to folks who do EASTL-style containers. I'd be interested in
> early feedback and/or telecon attendance.
>
>
> Discussion on Embedded:
> Paul's suggestions
> The next meeting would then be Embedded and I would be interested in
> knowing if people think a module std.freestanding is worth pursuing.
> In that context I'd like to get some feedback perhaps already for the
> upcoming meeting, if people have started using modules, and if so if it has
> brought the promised expectations or if you are holding back if you see any
> relevance in modules.
>
> Review latest mailings:
> P2532 Removing exception_ptr from the receivers concept
> Based on the last meeting and the discussions here.
> P2544 C++ Exceptions are becoming more and more problematic
> We might want to chime in here.
> /Paul
> P. S. P2327 de-deprecating volatile received a "consensus" straw poll.
>
>
> Discussion on Low Latency/Finance topics
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1839r4.pdf
>
>
>
>
>
> Discussion about Games topics:
>
> P2388R1 - Minimum Contract Support: either Ignore or Check_and_abort
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2388r1.html>
>
>
>
>
>
> 2.2.1 any other proposal for reviews?
>
>
>
> SG14/SG19 features/issues/defects:
>
>
> https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/edit#gid=0
>
> 2.3 Domain-specific discussions
>
> 2.3.1 SIG chairs
>
> - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
> Holmes, John McFarlane
>
> - Financial/Trading chairs: Bryan St. amour
> - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson, Patrice Roy
>
> - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson
>
> 2.4 Other Papers and proposals
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> -
>
> 3. Any other business
> Reflector
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
> As well as look through papers marked "SG14" in recent standards committee
> paper mailings:
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/
>
> Code and proposal Staging area
> https://github.com/WG21-SG14/SG14
> 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
>
>
> Future and past meeting plans
>
> * Jan 8, 2025 02:00 PM ET: Cancelled
> * Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 12, 2025 02:00 PM ET: DST cancelled
> * Apr 9, 2025 02:00 PM ET: Finance
> * May 7, 2025 02:00 PM ET: Games
> * June 11, 2025 02:00 PM ET: Sofia F2F
> * July 9, 2025 02:00 PM ET: Embedded
> * Aug 13, 2025 02:00 PM ET: Finance
> * Sep 10, 2025 02:00 PM ET: CPPCON 9/14
> * Oct 8, 2025 02:00 PM ET: Games
> * Nov 12, 2025 02:00 PM ET: F2F
> * Dec 10, 2025 02:00 PM ET: Embedded
>
> Hi all, for tomorrow's SG14 meeting, we can discuss Patrice game paper,
> and Khalil's paper which he posted to the reflector yesterday.
>
> Are there any other papers of interest? Thanks.
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 monthly
> Time: 2nd Wednesdays 02:00 PM Eastern Time (US and Canada)
> Every month on the Second Wed,
>
> Join from PC, Mac, Linux, iOS or Android:
> https://iso.zoom.us/j/93151864365?pwd=aDhOcDNWd2NWdTJuT1loeXpKbTcydz09
> Password: 789626
>
> Or iPhone one-tap :
> US: +12532158782,,93151864365# or +13017158592,,93151864365#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 253 215 8782 or +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 877 853 5247 (Toll Free)
> Meeting ID: 931 5186 4365
> Password: 789626
> International numbers available: https://iso.zoom.us/u/abRrVivZoD
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93151864365
>
> Agenda:
>
> 1. Opening and introduction
>
> ISO Code of Conduct
> <
>
> https://isotc.iso.org/livelink/livelink?func=ll&objId=20882226&objAction=Open&nexturl=%2Flivelink%2Flivelink%3Ffunc%3Dll%26objId%3D20158641%26objAction%3Dbrowse%26viewType%3D1
> *>*
>
> ISO patent policy.
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> IEC Code of Conduct:
>
> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>
> WG21 Code of Conduct:
>
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
Paul, Andre, Andrew D, Arthur O, Bryan, Gianluca, Guy, Jens, John M,
Khalil, Michael , Scott D, Michel L
>
>
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from the 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
>
> 2025 planning
>
> CPPCON SG14/19
>
> Future and past meeting plans
>
> * Jan 8, 2025 02:00 PM ET: Cancelled
> * Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 12, 2025 02:00 PM ET: DST cancelled
> * Apr 9, 2025 02:00 PM ET: Finance
> * May 7, 2025 02:00 PM ET: Games
> * June 11, 2025 02:00 PM ET: Sofia F2F
> * July 9, 2025 02:00 PM ET: Embedded
> * Aug 13, 2025 02:00 PM ET: Finance
> * Sep 10, 2025 02:00 PM ET: CPPCON 9/14
> * Oct 8, 2025 02:00 PM ET: Games
> * Nov 12, 2025 02:00 PM ET: F2F
> * Dec 10, 2025 02:00 PM ET: Embedded
>
>
> 2.2 Paper reviews
>
The meeting discussed the proposal to enhance the inline keyword in C++ to
provide standardized inlining behavior, reducing the need for
compiler-specific attributes. Key points included the need for backward
compatibility, the potential for a "force inline" attribute, and the
importance of maintaining performance. The second proposal aimed to
standardize floating-point arithmetic for reproducible results, considering
options like new library types, functions, and pairwise reduction
techniques. Feedback emphasized the need for clear specifications and
compatibility with existing code, and the importance of addressing
performance implications.
Action Items
- [ ] Incorporate the feedback and prepare revision 3 of the inline
keyword proposal.
- [ ] Send the updated proposal to the reflector and SG6 for further
review.
Outline
Introduction to Paper P3676
- Khalil introduces the paper P3676, focusing on enhancing the inline
keyword in C++.
- The paper aims to provide a standard inline keyword to hint the
compiler about inlining, reducing the need for compiler-specific attributes.
- Khalil explains the current limitations of the inline keyword and
the proposed changes to make it more versatile.
- The paper includes examples and use cases, highlighting the benefits
of standardizing inline behavior.
Feedback and Discussion on the Inline Proposal
- concerns about the compatibility of the inline keyword with existing
code and the need for backward compatibility.
- suggests separating the semantic meaning of the inline keyword from
the non-semantic meaning, using attributes for the latter.
- discuss the potential need for a "force inline" attribute to ensure
compilers adhere to the specified behavior.
- Khalil acknowledges the feedback and mentions the possibility of
revising the paper based on the discussion.
Reproducible Floating Point Results Proposal
- Guy introduces the proposal for reproducible floating point results in
C++, addressing the lack of standardization in floating point arithmetic.
- The proposal aims to ensure that floating point operations produce the
same results on different platforms, crucial for applications like
scientific computing and video games.
- Guy outlines various approaches, including using compiler options,
fences, and new library types, to achieve reproducibility.
- The discussion includes feedback from other participants, suggesting
the use of functions instead of new types and the importance of maintaining
performance.
Pairwise Reduction Techniques
- introduces the concept of pairwise reduction to improve the accuracy
of floating point operations.
- The technique involves splitting the summation of floating point
values into pairs, reducing the accumulation errors.
- discuss the implementation details and the potential benefits of
pairwise reduction.
- The conversation highlights the need for a well-defined sequence to
ensure reproducibility across different instruction sets.
> Embedded:
> * P3132 Accept attributes with user-defined prefixes
> * P3134 Attribute [[asserts_rvo]]
> Deterministic Exception for Embedded by James Renwick
>
> https://www.pure.ed.ac.uk/ws/portalfiles/portal/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf
>
> Freestanding Updates
>
> Games paper review
>
> Arthur's suggestions:
> (1) I put in the Slack channel
> <https://cpplang.slack.com/archives/C3TK2M6HH/p1703947057425609> a while
> ago Clang PR #76596 <https://github.com/llvm/llvm-project/pull/76596>,
> from
> one Max Winkler, apparently in game dev. I don't think the PR stands much
> chance of getting merged into Clang; but it might still be of interest to
> SG14 folks. The issue description is very long and somewhat detailed, and
> then there's more discussion/debate in the comments
> <https://github.com/llvm/llvm-project/pull/76596#issuecomment-1872601156>.
> (I'd actually be interested in talking to Max, but he doesn't publish his
> email address on GitHub and I guess that might be on purpose.)
>
> (2) LEWG will be seeing my P3055 "Relax wording to permit relocation
> optimizations in the STL"
> <https://quuxplusone.github.io/draft/d3055-relocation.html> in a telecon
> on
> February 20th. (Related blog post.
> <https://quuxplusone.github.io/blog/2024/01/02/bsl-vector-erase/>) Might
> be interesting to folks who do EASTL-style containers. I'd be interested in
> early feedback and/or telecon attendance.
>
>
> Discussion on Embedded:
> Paul's suggestions
> The next meeting would then be Embedded and I would be interested in
> knowing if people think a module std.freestanding is worth pursuing.
> In that context I'd like to get some feedback perhaps already for the
> upcoming meeting, if people have started using modules, and if so if it has
> brought the promised expectations or if you are holding back if you see any
> relevance in modules.
>
> Review latest mailings:
> P2532 Removing exception_ptr from the receivers concept
> Based on the last meeting and the discussions here.
> P2544 C++ Exceptions are becoming more and more problematic
> We might want to chime in here.
> /Paul
> P. S. P2327 de-deprecating volatile received a "consensus" straw poll.
>
>
> Discussion on Low Latency/Finance topics
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1839r4.pdf
>
>
>
>
>
> Discussion about Games topics:
>
> P2388R1 - Minimum Contract Support: either Ignore or Check_and_abort
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2388r1.html>
>
>
>
>
>
> 2.2.1 any other proposal for reviews?
>
>
>
> SG14/SG19 features/issues/defects:
>
>
> https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/edit#gid=0
>
> 2.3 Domain-specific discussions
>
> 2.3.1 SIG chairs
>
> - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
> Holmes, John McFarlane
>
> - Financial/Trading chairs: Bryan St. amour
> - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson, Patrice Roy
>
> - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson
>
> 2.4 Other Papers and proposals
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> -
>
> 3. Any other business
> Reflector
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
> As well as look through papers marked "SG14" in recent standards committee
> paper mailings:
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/
>
> Code and proposal Staging area
> https://github.com/WG21-SG14/SG14
> 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
>
>
> Future and past meeting plans
>
> * Jan 8, 2025 02:00 PM ET: Cancelled
> * Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
> * Mar 12, 2025 02:00 PM ET: DST cancelled
> * Apr 9, 2025 02:00 PM ET: Finance
> * May 7, 2025 02:00 PM ET: Games
> * June 11, 2025 02:00 PM ET: Sofia F2F
> * July 9, 2025 02:00 PM ET: Embedded
> * Aug 13, 2025 02:00 PM ET: Finance
> * Sep 10, 2025 02:00 PM ET: CPPCON 9/14
> * Oct 8, 2025 02:00 PM ET: Games
> * Nov 12, 2025 02:00 PM ET: F2F
> * Dec 10, 2025 02:00 PM ET: Embedded
>
Received on 2025-05-12 16:30:35