← Журнал · · Заметка

Шеринг GPU: TimeSlicing, MPS и MIG

Представьте, что у вас собрана здоровенная инфраструктура с видеокартой для ML задач по обучению и инференсингу(использование обученных моделей в продакшене). Но при этом некоторые модели не утилизируют gpu полностью, а сразу несколько не поместить, так как например кубернетес по-умолчанию выделяет одному Поду целую gpu.

Будто у вас дом 300 квадратов, где вы используете всего лишь 40. звучит богато, но переплачиваете вы тоже порядочно)

Вы можете поделить вашу GPU (от nvidia) на части, по сути раздать квадраты вашего дома под суточную аренду)

Timeslicing - деление GPU под задачи с помощью квантов времени. Похоже на "многопоточность" на одном процессоре с 1 ядром.
- доступно на всех GPU👍
- лёгкость установки😎
- отсутствует изоляция по памяти⚠️

MPS - специальный сервер на уровне CUDA запускает отдельные процессы
- GPU архитектуры Volta и выше✌️
- максимум 48 потоков⚠️
- изоляция видеопамяти на уровне CUDA🎞

MIG - деление GPU на уровне железа
- только архитектура Ampere💲
- максимум 7 партиций🎰
- изоляция видеопамяти на уровне железа👌

Подробнее читайте в моем блоге на хабр. А также сравнение этих трех технологий 😉

Оригинал в Telegram ↗

↑↓ выбор · Enter открыть · Esc закрыть