Tracking all thread safety related issues / tasks: - `StreamContext` context manager sets the default stream. So it can't be used from sub threads. - Compiler cache should be thread safe: https://github.com/ml-explore/mlx/issues/2086 - Eval of independent graphs is no longer thread safe https://github.com/ml-explore/mlx/issues/2067