in opacus/accountants/accountant.py [0:0]
def hook_fn(optim: DPOptimizer):
# This works for Poisson for both single-node and distributed
# The reason is that the sample rate is the same in both cases (but in
# distributed mode, each node samples among a subset of the data)
self.step(
noise_multiplier=optim.noise_multiplier,
sample_rate=sample_rate * optim.accumulated_iterations,
)