I'm debugging some simulations that do a lot of heavy linear algebra using numpy (on Ubuntu 20.04, python 3.7 via anaconda), and I'm getting nondeterministic results even when I set the same random seed. I think what's causing this is the parallel blas/lapack that does the linear algebra. I'm wondering of there's some flag I can set that makes numpy use single-threaded (and presumably deterministic) matrix operations.
I haven't looked deep enough to see where the nondeterminism arises, but the operations I'm using include dot, eigh, qr, solve, and possibly others.
I'd prefer to not recompile anything or install an alternate lapack/blas or anything like that.