Почему не стоит верить nvidia-smi “GPU utilization”arthurchiao.github.io/blog/understanding-gpu-performance/
Nvidia использует очень особый способ определения утилизации GPU. 100% означают не что девайс загружен на 100%, а что хотя бы одно ядро было использовано хотя бы чуть-чуть 100% времени за последние N (мили)секунд
Очень яркий пример это примитивы синхронизации: когда вы вызываете torch.barrier GPU Utilization становится 100% при том что на самом деле железо просто «активно ждет».
Для реальной оценки загруженности GPU лучше использовать SM Occupancy которая показывает средний процент загрузки ядер GPU (то что я бы изначально ожидал увидеть от utilization честно говоря).
Для этого рекомендуют использовать dcgm-exporter