<div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sat, Jul 4, 2020, 2:39 PM Neal Becker <<a href="mailto:ndbecker2@gmail.com">ndbecker2@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 4, 2020 at 1:56 PM Robert Kern <<a href="mailto:robert.kern@gmail.com" target="_blank" rel="noreferrer">robert.kern@gmail.com</a>> wrote:<br></div><div dir="ltr" class="gmail_attr">....</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
3. Is there a way of telling the number of draws a generator did?<br>
<br>
The use case is to checkpoint the number of draws and `.advance` the<br>
bit generator when resuming from the checkpoint. (The runs are longer<br>
then the batch queue limits).<br></blockquote><div><br></div><div>There are computations you can do on the internal state of PCG64 and Philox to get this information, but not in general, no. I do recommend serializing the Generator or BitGenerator (or at least the BitGenerator's .state property, which is a nice JSONable dict for PCG64) for checkpointing purposes. Among other things, there is a cached uint32 for when odd numbers of uint32s are¬†drawn that you might need to handle. The state of the default PCG64 is much smaller than MT19937. It's less work and more reliable than computing that distance and storing the original seed and the distance.</div></div><div><br></div>-- <br><div dir="ltr">Robert Kern</div></div></blockquote><div><br></div><div>Sorry, you lost me here.¬† If I want to save, restore the state of a generator, can I use pickle/unpickle?</div></div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">Absolutely.</div><div dir="auto"><br></div></div>