ConcurrencyΒΆ
get()andget_batch()are thread-safe and release the GIL. Formethod=1/2, calls on one variable of one store take turns (per-variable lock); for parallel reads give each thread afork_reader(), asThreadDataLoaderdoes.method=0get_batch()is collective: same number of calls, same order, one thread per rank.vae-ddp.pyallows no workers withmethod=0.Only the main thread calls MPI;
FUNNELEDis the minimum thread level (mpi4py defaults toMULTIPLE; keep it if your threads call MPI).