PCIe — один из интерфейсов системы. GPU interconnect рассматривает фактические конечные устройства, промежуточные пути и разрешённый программный доступ. Надпись PCIe у двух GPU не устанавливает их peer-access support и не описывает все возможные межсоединения.
Почему это важно
Две установленные GPU не обязательно образуют нужный приложению путь обмена. Нужно различать их соединения с CPU и доступ друг к другу, проверить каждую нужную пару и измерить реальный рисунок передач. Разрешённый удалённый доступ также не означает автоматического объединения памяти в одно большое выделение памяти.
Что подтверждено
Локальная память GPU, соединение CPU с устройством и путь между двумя GPU — разные части системы. В CUDA peer transfer может опираться на доступный аппаратный путь, включая поддержанные PCIe или NVLink соединения; наличие одного пути не описывает остальные.
Граница применимости: Сопоставление CUDA 12.6 peer communication и архитектуры NVIDIA Ampere; конкретная связность и возможности определяются выбранной платформой.
Для GPU в PCIe-слоте проверяют поколение и фактическую электрическую ширину соединения: размер разъёма сам по себе не доказывает число доступных линий. Параметры PCIe также не подтверждают peer access между выбранными GPU; его проверяют отдельно для нужной пары и направления.
Граница применимости: Редакторское сопоставление: PCI-SIG описывает PCIe, NVIDIA — проверку доступа между GPU. Intel иллюстрирует только общее различие размера слота и электрической ширины, а не топологию GPU. Разводку конкретной платформы эти общие документы не подтверждают.
CUDA предоставляет запрос возможности peer access для заданной пары устройств. Перед использованием такого доступа программа проверяет поддержку и, где требуется, включает его предусмотренным API; общий факт присутствия двух GPU не является положительным результатом этой проверки.
Граница применимости: CUDA 12.6, cudaDeviceCanAccessPeer и cudaDeviceEnablePeerAccess; правила иных API выделения и доступа к памяти проверяют отдельно.
Результат запроса CUDA peer access относится к указанным устройствам и направлению доступа. Поддержка одной пары не доказывает полносвязную топологию всех GPU; нужно проверить каждую пару, которой реально требуется обмен.
Граница применимости: CUDA 12.6, pair-specific peer access query и зависимость доступа от платформы; симметрия всех направлений не предполагается.
Peer access позволяет поддержанному устройству обращаться к памяти другого устройства, но не объединяет физическую память GPU в один локальный запас. Положительный peer test не доказывает, что обычное выделение памяти на одной GPU может занять суммарную ёмкость двух GPU.
Граница применимости: Редакторский вывод из модели выделения памяти устройства и peer access в CUDA и разграничения уровней памяти в Best Practices; отдельно организованное распределение данных не исключается.
Число соединений и сумма их паспортных скоростей не задают скорость конкретного обмена. Данные должны действительно проходить по этим путям; общие участки, направление, размер передачи и одновременная работа могут ограничить достигнутую пропускную способность.
Граница применимости: Редакторское сопоставление аппаратных соединений Ampere и методики измерения передач CUDA; не универсальная формула масштабирования по числу GPU.
Приёмка соединений должна воспроизводить нужный задаче обмен: кто передаёт кому, какой объём и одновременно с какой другой работой. Результат одной большой копии между парой GPU не переносится автоматически на множество пар или короткие частые сообщения.
Граница применимости: Редакторская процедура измерения на основе CUDA transfer guidance и аппаратной топологии Ampere; входные размеры, пары и конкурирующая работа задаются явно.
Не путать
VRAM задаёт размещение данных на устройстве, interconnect — путь обмена и удалённого доступа. Доступная связь с соседней GPU не превращает два отдельных выделения памяти в одно локальное выделение суммарного размера.
Что проверить
- Нарисуйте нужные пути CPU↔GPU и GPU↔GPU с конкретными конечными устройствами.
- Проверьте реальное поколение, ширину PCIe и общие участки платформы.
- Установите наличие и назначение дополнительных соединений между GPU.
- Проверьте peer access для каждой требуемой пары и направления.
- Отдельно подтвердите способ выделения и распределения памяти приложения.
- Измерьте реальные размеры и направления передач при нужной одновременной нагрузке.
- Не заменяйте измеренный обмен суммой локального HBM bandwidth или паспортных скоростей всех links.
Первоисточники
CUDA C++ Programming Guide
NVIDIA · CUDA C++ Programming Guide, CUDA 12.6, страница открыта 7 сентября 2026 года
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.
Открыть первоисточникNVIDIA Ampere GPU Architecture Tuning Guide
NVIDIA · NVIDIA Ampere GPU Architecture Tuning Guide, CUDA 12.6, страница открыта 7 сентября 2026 года
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.
Открыть первоисточникPCI Express Base
PCI-SIG · Current Approved Specification: PCI Express Base 7.0
Официальное описание архитектуры и программного интерфейса PCI Express.
Открыть первоисточникTuning Throughput Performance for Intel Ethernet Adapters
Intel · support article 000005811, проверено 6 февраля 2025 года
Предупреждает, что физический размер PCIe-слота может превышать его электрическую ширину.
Открыть первоисточникCUDA C++ Best Practices Guide
NVIDIA · CUDA C++ Best Practices Guide, CUDA 12.6, страница открыта 7 сентября 2026 года
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.
Открыть первоисточник