Возможно ли использование нескольких графических процессоров с большим объемом памяти? - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть рабочая станция глубокого обучения, где есть 4 графических процессора с 6 ГБ памяти каждый. Можно ли заставить контейнер docker видеть 4 графических процессора как один, но с 24 ГБ?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Краткий ответ: Нет.

Альтернативный ответ: Да, но требует дополнительного оборудования, дорого и, вероятно, несовместим с существующим оборудованием.

Объяснение:

Это возможно, если ваши графические процессоры подключены с использованием NVIDIA NVLink (см. подробности здесь https://www.nvidia.com/en-us/design-visualization/nvlink-bridges/).

Обычно NVLink используется для пар графических процессоров, таких как GPU0, подключенный к графическому процессору 1 и GPU2, подключенный к GPU3, в этом случае лучший вариант, который вы можете получить, - это 2 графических процессора с удвоенной памятью каждый.

Другой вариант - специальный модуль InfiniBand, устанавливаемый на современных серверах графических процессоров некоторыми поставщиками.

1 голос
/ 10 февраля 2020

Раньше я не работал с docker, но много работал с CUDA с несколькими GPU. Поскольку несколько графических процессоров физически разделены, следовательно, для работы с несколькими графическими процессорами требуется много синхронизации памяти на уровне кода.

Я не думаю, что docker может фактически объединить всю память GPU, поскольку это сильно усложнит вычисления на стороне GPU. Для работы с несколькими GPU требуется собственное ядро ​​для синхронизации друг с другом.

Лучшая аналогия, которую я привожу, это: «Можете ли вы получить два чистых компьютера для объединения ОЗУ и запуска Microsoft Word, как если бы это был один компьютер?».

...