Конфигуриране на четири 32 GB Resizable BAR адресации зад PCIe комутатор в Linux

Източник: Hacker News / Kernel.org
В специализираната Linux общност бе публикувано детайлно техническо ръководство за решаване на критичен хардуерен проблем при конфигурирането на работни станции за изкуствен интелект: успешното разполагане на четири 32 GB PCIe Resizable BAR (ReBAR) региона зад единичен комутатор на шината под Linux [1]. Ограниченията в стандартното заделяне на памет (MMIO) в ядрото често водят до сривове при опит за паралелно адресиране на масиви от GPU ускорители.
Проблемът с 64-битовото адресиране и PCIe комутаторите
Когато множество високопроизводителни ускорители са свързани през външен или вграден PCIe коммутатор (PCIe switch), BIOS/UEFI фърмуерът често не успява да резервира достатъчно непрекъснато 64-битово MMIO пространство за всяка карта. В резултат на това ядрото на Linux връща грешка при преразпределение на ресурсите (resource collision) и деактивира ReBAR, принуждавайки системата да комуникира през бавни 256 MB прозорци.
Това драстично намалява скоростта на директен достъп до паметта (DMA) при трансфер на големи тензорни тегла между графичните карти.
Пачове за ядрото и конфигурационни параметри
Решението включва комбинация от флагове за зареждане на ядрото (pci=realloc, pci=nocrs) и специализиран скрипт за ръчно преконфигуриране на базовите адресни регистри (BAR) преди инициализацията на драйвера. Чрез принудително разширяване на мостовите прозорци на комутатора, системата успява да отдели пълен 128 GB адресен блок за четирите карти.
Бенчмарковете показват до 28% ускорение при разпределено паралелно обучение на модели в сравнение със стандартния режим.

Инфографика: Аналитичен преглед на Svetni.me
Хардуерна демократизация на домашните AI лаборатории
Този технически триумф има широко практическо значение за независимите изследователи и малките лаборатории. Възможността за пълноценно комбиниране на потребителски или специализирани графични карти върху стандартни дънни платки позволява изграждането на мощни локални работни станции на малка част от цената на патентованите корпоративни сървъри.
В същото време казусът илюстрира спешната нужда от модернизация на стандартите за фърмуер и системно инициализиране на хардуера, за да отговорят на изискванията на съвременните тензорни изчисления.