ray.tune.utils.wait_for_gpu#
- ray.tune.utils.wait_for_gpu(gpu_id: int | str | None = None, target_util: float = 0.01, retry: int = 20, delay_s: int = 5, gpu_memory_limit: float | None = None)[source]#
Checks if a given GPU has freed memory.
Requires
gputil
to be installed:pip install gputil
.- Parameters:
gpu_id – GPU id or uuid to check. Must be found within GPUtil.getGPUs(). If none, resorts to the first item returned from
ray.get_gpu_ids()
.target_util – The utilization threshold to reach to unblock. Set this to 0 to block until the GPU is completely free.
retry – Number of times to check GPU limit. Sleeps
delay_s
seconds between checks.delay_s – Seconds to wait before check.
- Returns:
True if free.
- Return type:
- Raises:
RuntimeError – If GPUtil is not found, if no GPUs are detected or if the check fails.
Example:
def tune_func(config): tune.utils.wait_for_gpu() train() tuner = tune.Tuner( tune.with_resources( tune_func, resources={"gpu": 1} ), tune_config=tune.TuneConfig(num_samples=10) ) tuner.fit()
PublicAPI (beta): This API is in beta and may change before becoming stable.