Коротко. Tesla V100 в исполнении SXM2 не вставляется в PCIe — это модуль, который прикручивается к мостовой (несущей) плате. Она же разводит NVLink между картами. У V100 SXM2 шесть линков NVLink 2.0 по 25,78 ГБ/с на карту; в сборке из четырёх карт исправная топология — 24 активных линка. Проверяется одной командой, а «мёртвые» линки в 9 случаях из 10 лечатся протяжкой разъёмов, а не заменой карты.
SXM2 — это не видеокарта в привычном смысле
Tesla V100 выпускалась в двух исполнениях. PCIe-версия — обычная плата в слот, у неё NVLink либо нет, либо он выведен на мостик-перемычку между двумя картами. SXM2-версия — плоский модуль без собственного разъёма питания и без слота: он ставится на посадочное место мостовой платы и притягивается винтами.
Отсюда первый вывод, который экономит деньги: купить четыре V100 SXM2 и «воткнуть их в материнку» нельзя. Нужна несущая плата (её же называют мостовой, carrier board, baseboard) — именно она даёт модулям питание, охлаждение и межкартовую шину.
Что делает мостовая плата
- Питание. Каждый модуль V100 SXM2 потребляет до 300 Вт. На четыре карты это 1200 Вт только на GPU — плата разводит их по отдельным линиям.
- NVLink-меш. Топология «каждый с каждым» разведена дорожками прямо в плате: никаких внешних мостиков ставить не надо.
- Связь с хостом. Платы, которые чаще всего попадают на вторичный рынок, подключаются к материнской плате через PCIe-свитч (например, PLX PEX 8748). На хост уходит один-два кабеля, а карты за свитчем получают по PCIe Gen3 x4 каждая.
Последний пункт часто пугает: «всего x4, это же мало». Для инференса LLM — не мало. По PCIe идёт только загрузка весов и служебный обмен, а тяжёлый трафик тензорного параллелизма идёт по NVLink, который на два порядка быстрее. Загрузка модели на 80 ГБ будет дольше, генерация — нет.
Сколько линков должно быть и как это проверить
У V100 SXM2 шесть линков NVLink 2.0. Пропускная способность одного — 25,781 ГБ/с, и именно это число вы увидите в выводе драйвера. В сборке из четырёх карт каждый модуль занимает все шесть линков, распределяя их между тремя соседями: с двумя соседями по два линка, с одним — один или два, в зависимости от разводки платы.
Первая команда показывает состояние каждого линка:
nvidia-smi nvlink -s
Исправная картина — шесть строк 25.781 GB/s под каждой из четырёх карт, то есть 24 активных линка суммарно. Любая строка <inactive> — дефект.
Вторая команда показывает топологию — кто с кем и сколькими линками связан:
nvidia-smi topo -m
В таблице между парами карт стоит NV1 или NV2 — это число объединённых линков. Пара с NV1 там, где по разводке должно быть NV2, означает, что один линк из двух отвалился: связь есть, но полоса вдвое меньше.
Мёртвый линк — почти всегда контакт, а не чип
Это главный практический вывод из нашей работы с китами V100. В трёх случаях подряд картина «один-два линка неактивны» лечилась не заменой карты, а протяжкой винтов крепления модулей к мостовой плате. Модуль SXM2 прижимается к площадке контактов с большим усилием; недотянутый или перекошенный винт даёт именно частичный отвал линков при живой во всём остальном карте.
Порядок действий, прежде чем ругать продавца:
- Обесточить сервер, снять питание с мостовой платы.
- Крест-накрест равномерно протянуть винты всех модулей, а не только «подозрительного» — линк принадлежит паре карт.
- Включить, повторить nvidia-smi nvlink -s.
Ещё одна тонкость, на которой легко ошибиться при приёмке: счётчики ошибок CRC растут у обеих карт пары. Увидев ошибки на карте №2, не спешите списывать именно её — виноват может быть контакт на карте №0, с которой она соединена.
Проверка под нагрузкой обязательна
Синтетика может быть чистой, а под реальной нагрузкой NVLink посыплется. Мы такое ловили: кит показывал 24/24 линка и ноль ошибок ECC, а на прогоне падал с Xid 74 — это код ошибки NVLink в логе ядра. Поэтому приёмка всегда состоит из двух частей.
Сначала статика — серийники (не должны совпадать между картами), режим ECC, счётчики ошибок:
nvidia-smi --query-gpu=index,serial,ecc.mode.current,\ ecc.errors.uncorrected.aggregate.total --format=csv
Затем нагрузка. Для Volta есть отдельная грабля: gpu-burn нужно собирать под архитектуру 7.0, иначе на V100 он падает с «no kernel image is available».
make COMPUTE=70 ./gpu_burn 300
После прогона проверяем, что линки живы, ECC по нулям, а в dmesg нет ни одного Xid. Только такой кит можно считать принятым.
Драйвер: где ломается больше всего сборок
Volta — архитектура 2017 года, и современные открытые модули драйвера NVIDIA (пакеты с суффиксом -open) её не поддерживают: они рассчитаны на Turing и новее. Если поставить свежий открытый драйвер, карты будут видны в lspci, но nvidia-smi покажет пустоту, а в логе появится «GPU has fallen off the bus» и «BAR0 is 0M».
Выглядит как мёртвое железо, лечится сменой пакета: для V100 нужен проприетарный серверный драйвер (в нашей практике стабильно работает ветка 580-server). Мы наступали на это ровно после того, как в тот же сервер до этого ставились карты другого поколения.
Что в итоге даёт NVLink на четырёх V100
Четыре Tesla V100 SXM2 по 32 ГБ — это 128 ГБ видеопамяти в одном узле со скоростным мешем между картами. На такой конфигурации модель Llama 3.3 70B в квантовании AWQ раздаётся по четырём GPU тензорным параллелизмом и выдаёт около 40 токенов в секунду на один поток — с осмысленным русским языком. По прожигу каждая карта устойчиво держит 13,9–14,5 ТФлопс FP32, что составляет 89–92% от паспортного пика.
Если разбираться со всем этим самостоятельно не хочется — мы отдаём готовые сборки 4× Tesla V100 уже с протянутым мешем, проверенным драйвером и протоколом приёмки: серийники, NVLink, ECC, Xid и прожиг под нагрузкой.
Частые вопросы
Можно ли подключить Tesla V100 SXM2 без мостовой платы?
Нет. SXM2 — это модуль без слота и без собственного разъёма питания, он физически прикручивается к несущей (мостовой) плате, которая даёт ему питание и разводит NVLink. Для установки в обычный PCIe-слот нужна другая версия карты — Tesla V100 PCIe.
Сколько линков NVLink у Tesla V100 SXM2?
Шесть линков NVLink 2.0, каждый по 25,781 ГБ/с. В сборке из четырёх карт исправное состояние — 24 активных линка суммарно, что видно командой nvidia-smi nvlink -s.
Что делать, если один линк NVLink показывает inactive?
Сначала обесточить сервер и равномерно протянуть винты крепления модулей к мостовой плате: в нашей практике три случая подряд лечились именно протяжкой, а не заменой карты. Учтите, что счётчики ошибок растут у обеих карт пары, поэтому виновата может быть соседняя карта.
Хватает ли PCIe x4 для Tesla V100 на мостовой плате?
Для инференса языковых моделей — да. Через PCIe идёт только загрузка весов и служебный обмен, а трафик тензорного параллелизма между картами идёт по NVLink, который на два порядка быстрее. Медленнее будет только первичная загрузка модели.
Почему nvidia-smi не видит Tesla V100 при исправных картах?
Частая причина — открытый (-open) драйвер NVIDIA: он не поддерживает архитектуру Volta, и карты видны в lspci, но не инициализируются, с ошибками «fallen off the bus» и «BAR0 is 0M». Нужен проприетарный серверный драйвер, например ветка 580-server.