Sampling
A move rule defines a Markov chain over configurations. sample advances every chain and returns the resulting configurations together with their log-amplitudes.
state, log_amps, acceptance = sample(nsweeps, state, action, keys, wf)
Chains are sharded across the available JAX devices, so the call is the same on one CPU and on many GPUs.