proteneer / timemachine

Differentiate all the things!
Other
138 stars 17 forks source link

Separate out Noise Buffers #1268

Closed badisa closed 6 months ago

badisa commented 6 months ago

In the previous implementation some of the noise used in different places was combined into a single buffer as it is simple to offset to the correct data in the CPU. When we start batching the moves the offsetting would get much more complicated and so this PR separates all of the different types of noise into their own buffer.

Also learnt that only the Normal noise requires the buffers to be even. In a follow up PR will fix up the places we needlessly call round_up_even.

badisa commented 6 months ago

Nightly tests failed and am fixing them locally, but just the change in the determinism has resulted in needing to take more steps.

badisa commented 6 months ago

Follow up:

badisa commented 6 months ago

Nightlies all look good

Starting with Six waters - Targeted run for 10k iterations
Total Moves 100000000
Num Waters in Buckyball: 2, 49.31%
Num Waters in Buckyball: 1, 50.69%

Looks very similar to https://github.com/proteneer/timemachine/pull/1228, though as we discussed in that PR these are not converged.

image