Skip to content
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

P2075 R6 Philox as an extension of the C++ RNG engines #802

Closed
wg21bot opened this issue Jan 18, 2020 · 13 comments · Fixed by cplusplus/draft#7123
Closed

P2075 R6 Philox as an extension of the C++ RNG engines #802

wg21bot opened this issue Jan 18, 2020 · 13 comments · Fixed by cplusplus/draft#7123
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS LWG Library lwg-pending LWG Chair needs to disposition plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. random size - small paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jan 18, 2020

P2075R0 Philox as an extension of the C++ RNG engines (Pavel Dyakov, Ilya Burylov, Ruslan Arutyunyan, Andrey Nikolaev)

@wg21bot wg21bot added the SG6 Numerics label Jan 18, 2020
@wg21bot wg21bot added this to the 2020-02 milestone Jan 18, 2020
@Cpp-Lisa
Copy link
Collaborator

Reviewed Monday in Prague, but informally without quorum. We generally found the argument for Philox compelling.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Aug 1, 2020

P2075R1 Philox as an extension of the C++ RNG engines (Pavel Dyakov, Ilya Burylov, Ruslan Arutyunyan, Andrey Nikolaev, John Salmon)

@mattkretz
Copy link
Collaborator

mattkretz commented Apr 28, 2022

2022-04-28 SG6 Telecon

P2075R1: Philox as an extension of the C++ RNG engines

2022-04-28 SG6 Telecon Minutes

Chair: Matthias Kretz

Champion: Ilya Burylov

Minute Taker: Dietmar Kühl

SUMMARY: Design questions raised were not nailed down and left up to authors and LEWG to decide. Feedback was given on how to provide an interface for splitting X (the counter). Assuming the guidance will be implemented, the next revision of the paper should target LEWG.

POLL:

  • Do you prefer a single engine? 3
  • Do you prefer a split between engine and PRF? 2

# of Authors: 2
# of Participants: 8
Author Position: prefer a single engine
Outcome: no guidance

POLL: Any objection to forwarding a new revision of the paper to LEWG, assuming the guidance we gave is implemented.

Outcome: unanimous consent

@mattkretz mattkretz added LEWG Library Evolution needs-revision Paper needs changes before it can proceed and removed SG6 Numerics labels Apr 28, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 16, 2023

P2075R2 Philox as an extension of the C++ RNG engines (Pavel Dyakov, Ilya Burylov, Ruslan Arutyunyan, Andrey Nikolaev, John Salmon)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Jan 16, 2023
@brycelelbach brycelelbach added B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS C++26 Targeted at C++26 ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting size - medium paper size estimate labels Jan 23, 2023
@jensmaurer jensmaurer modified the milestones: 2022-telecon, 2023-02 Jan 25, 2023
@brycelelbach brycelelbach added size - small paper size estimate random and removed size - medium paper size estimate labels Jan 25, 2023
@mattkretz mattkretz added the SG6 Numerics label Jan 26, 2023
@mattkretz mattkretz added this to Issaquah '23 Tuesday evening in SG6 Jan 26, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 16, 2023

P2075R3 Philox as an extension of the C++ RNG engines (Ilya Burylov)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Oct 16, 2023
@wg21bot wg21bot changed the title P2075 Philox as an extension of the C++ RNG engines P2075 R3 Philox as an extension of the C++ RNG engines Oct 16, 2023
@inbal2l inbal2l added the ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting label Oct 16, 2023
@inbal2l inbal2l added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Nov 4, 2023
@ben-craig
Copy link
Collaborator

ben-craig commented Nov 28, 2023

2023-11-28 Library Evolution Telecon

P2075R3: Philox as an extension of the C++ RNG engines

2023-11-28 Library Evolution Telecon Minutes

Champion: Ilya Burylov

Chair: Ben Craig

Minute Taker: Mark Hoemmen

Summary

Does this paper have:

  • Why does this belong in the standard library?
    Lots of progress in engine design, and this engine is useful for parallelization. Other existing engines are not good for parallelization. This engine has wide usage experience. Good stats properties and performance.
  • Examples? Yes
  • Field experience?
    • Implementation experience? Yes
    • Usage experience? Yes
    • Deployment experience? algorithm, yes. This specific facility, no.
  • Performance considerations? Yes
  • Discussion of prior art? Yes
  • Changes Library Evolution previously requested? No
  • Wording? Yes*
  • Breaking changes? No
  • Feature test macro? Yes
  • Freestanding? Random not currently freestanding. This doesn't use heap allocations or floating point math.
  • Format and/or iostream support? iostream
  • Hash support? No
  • Allocator support? No

POLL: Which philox architecture do we prefer?

1 engine template (6. Philox-Focused) Neutral engine template + prf template (7. Generic counter_based_engine)
8 2 0

Attendance: 14

# of Authors: 2

Author Position: 2x Philox Focused

Outcome: 1 engine template (6. Philox-Focused)

We also did some early wording review, though we skipped some of the mathy parts.

Next Steps

  • Evaluate whether the latest wording patterns are used in the paper, particularly regarding the stream operator declarations (or lack thereof).

  • Next revision of the paper should discuss cross vendor buy in. Does this meet the stated goals on multiple ISAs? Are existing ARM implementations vectorized?

  • Remove wording for the discarded alternative (7. Generic counter_based_engine).

  • Provide the new revision and return to LEWG.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 16, 2024

P2075R4 Philox as an extension of the C++ RNG engines (Ilya Burylov, Ruslan Arutyunyan; Andrey Nikolaev; Alina Elizarova; Pavel Dyakov; John Salmon)

@wg21bot wg21bot modified the milestones: 2023-telecon, 2024-telecon Feb 16, 2024
@wg21bot wg21bot changed the title P2075 R3 Philox as an extension of the C++ RNG engines P2075 R4 Philox as an extension of the C++ RNG engines Feb 16, 2024
@ben-craig
Copy link
Collaborator

2024-03-20 Library Evolution Tokyo

P2075R4: Philox as an extension of the C++ RNG engines

2024-03-20 Library Evolution Tokyo Minutes

Champion: Ruslan Arutyunyan
Chair: Ben Craig / Inbal Levi
Minute Taker: Guy Davidson

Summary

POLL: Send P2075R4 (Philox as an extension of the C++ RNG engines) to LWG for C++26 classified as B3, to be confirmed with a Library Evolution electronic poll.

SF WF N WA SA
5 7 0 0 0

Attendance: 11+4

# of Authors: 1

Author Position: SF

Outcome: Unanimous consent

Comments:

Next Steps

Fix the LWG issues discovered and minuted, and take the paper to LWG pending the electronic poll.

@ben-craig ben-craig added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Mar 22, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented Apr 1, 2024

P2075R5 was added to 2024 April LEWG electronic poll paper (P3213R0)

@inbal2l inbal2l added needs-revision Paper needs changes before it can proceed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Apr 1, 2024
@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Apr 17, 2024
@wg21bot wg21bot changed the title P2075 R4 Philox as an extension of the C++ RNG engines P2075 R5 Philox as an extension of the C++ RNG engines Apr 17, 2024
@cor3ntin cor3ntin removed the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label May 22, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented May 23, 2024

P2075R5 was forwarded to LWG for C++26 on LEWG 2024 April electronic poll (P3214R0)

@inbal2l inbal2l added LWG Library lwg-pending LWG Chair needs to disposition and removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll labels May 23, 2024
@ben-craig ben-craig added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Jul 4, 2024
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jul 16, 2024

P2075R6 Philox as an extension of the C++ RNG engines (Ilya Burylov, Ruslan Arutyunyan; Andrey Nikolaev; Alina Elizarova; Pavel Dyakov; John Salmon)

@wg21bot wg21bot changed the title P2075 R5 Philox as an extension of the C++ RNG engines P2075 R6 Philox as an extension of the C++ RNG engines Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS LWG Library lwg-pending LWG Chair needs to disposition plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. random size - small paper size estimate
Projects
Status: Tentatively Ready
Development

Successfully merging a pull request may close this issue.

8 participants