Open yhtang opened 1 year ago
It is more complicated then this. Using the CPU cores will cause too many contexts and slowdown tests and crashes others. We need to parallelize per GPUs, but we can overload a little bit each GPU if there is enough GPU memory. Like 2 or 4 tests per GPUs. Also, the more GPUs are in the box, the less jobs per GPUs we can run, as there are limitation in the driver. Newer driver allow more context in total to be created.
So mostly, we need a mix of both.
Pending confirmation from other developers, it seems that the
//tests:gpu_tests
tests are (counterintuitive) bottlenecked by CPU concurrency and performance. Hence, the best performance for JAX unit testing may be achieved by adjusting the Bazel job count according to number of CPU cores available, rather than the number of GPUs available.