New Release: Ultralytics v8.4.86

:rocket: Ultralytics v8.4.86 is here!

Ultralytics v8.4.86 is a focused reliability release that fixes a CUDA device selection regression affecting training on nonzero GPU indices, especially in multi-GPU and shared-server environments. This update restores expected behavior when CUDA_VISIBLE_DEVICES remaps a selected GPU, helping Ultralytics YOLO training workflows run more reliably. :white_check_mark:


:glowing_star: Quick Summary

  • :hammer_and_wrench: Fixed CUDA device re-selection after CUDA_VISIBLE_DEVICES remapping
  • :repeat_button: Restored expected behavior for nonzero GPU selections like device=3
  • :white_check_mark: Added regression test coverage for remapped CUDA devices
  • :package: Bumped package version from 8.4.85 to 8.4.86

You can review the official Ultralytics v8.4.86 release on GitHub.


:hammer_and_wrench: Bug Fixes

CUDA device remapping fix

This release resolves an issue where training with a command such as device=3 could fail later during validation or final evaluation after CUDA remapped that physical GPU to cuda:0.

The fix ensures that when CUDA_VISIBLE_DEVICES already matches the requested device, Ultralytics correctly recognizes that CUDA has already applied the remap and returns the proper visible device index.

This was addressed in PR #25018 by @glenn-jocher. :raising_hands:


:white_check_mark: Improvements

Better support for multi-GPU systems

This update improves reliability for users training on:

  • :desktop_computer: Multi-GPU workstations
  • :factory: Production servers
  • :cloud: Cluster environments
  • :busts_in_silhouette: Shared GPU infrastructure

Jobs assigned to specific GPUs using CUDA_VISIBLE_DEVICES should now behave more predictably.

Regression test coverage

A new regression test covers the case where a nonzero physical GPU, such as GPU 3, is remapped to the single visible CUDA device cuda:0 after CUDA initialization.


:bullseye: Impact

This release helps prevent unexpected training crashes during later training stages, including final validation or evaluation, while preserving the stricter CUDA device validation introduced in recent updates.

No code changes are required in your projects beyond upgrading.

pip install -U ultralytics

:clipboard: Full Changelog

For the complete diff between releases, see the v8.4.85 to v8.4.86 changelog.


:speech_balloon: Try it out and share feedback

Thanks to the YOLO community and Ultralytics team for continued testing and feedback. Please upgrade to v8.4.86, try your GPU workflows again, and let us know how it works in your environment! :tada: