GPU простоює через вузьке місце в мережі або неправильно сконфігуровані драйвери — типова ситуація, коли кластер з 8 A100 видає лише 30% утилізації. Причина найчастіше не в самих картах, а в тому, як налаштоване оточення: повільний Interconnect, неправильні параметри NCCL, неоптимізоване сховище. Ми за 5+ років налаштували понад 20 GPU-кластерів і знаємо, як витиснути максимум з кожного ампер-години. Підхід простий: прибираємо вузькі місця по всьому ланцюжку — від драйверів до планувальника завдань.
Чому обладнання — лише половина успіху?
Навіть топові карти не дадуть приросту, якщо решта системи не збалансована. NVIDIA A100 (80GB SXM) з NVLink (600 GB/s всередині вузла) та H100 (80GB SXM5) з HBM3 (3.35 TB/s) — потужні інструменти, але вони потребують відповідної інфраструктури. Без InfiniBand та паралельної файлової системи (GPFS, Lustre) ви отримаєте утилізацію GPU 30–50% замість 85%+. Ми проектуємо кластери з урахуванням ваших робочих навантажень: для LLM з tensor parallelism критична швидкість NVLink, для data parallelism — пропускна здатність InfiniBand між вузлами.
Як перевірити продуктивність кластера після налаштування?
Після налаштування обов'язково проводимо тести AllReduce за допомогою nccl-tests. Для 8x A100 очікувана пропускна здатність — >280 GB/s при розмірі повідомлення 1GB. Якщо значення нижче — шукаємо вузьке місце: NUMA affinity, версію драйвера, конфігурацію комутатора. Також запускаємо benchmark training для вашої моделі (наприклад, GPT-2 або BERT) і порівнюємо throughput з очікуваним. За даними NVIDIA, правильне налаштування NUMA може дати приріст до 20%.
Процес налаштування GPU-кластера
- Аудит поточної інфраструктури та вимог — обсяг датасетів, тип моделей, очікувана частота навчання.
- Проєктування — вибір карт, кількість вузлів, тип Interconnect, файлова система.
- Встановлення драйверів та CUDA — production-версії, налаштування persistence mode, оптимізація power limit.
- Налаштування NCCL — fine-tuning параметрів, тестування AllReduce bandwidth (ціль >280 GB/s на 8x A100).
- Інтеграція з планувальником — Slurm для batch-навчання або Kubernetes + GPU Operator для контейнеризації.
- Моніторинг та оптимізація — DCGM, Prometheus, дашборди з ключовими метриками.
- Документація та навчання команди — як запускати завдання, діагностувати проблеми.
Вартість налаштування розраховується індивідуально залежно від конфігурації. Оптимізація може призвести до значної економії на рахунках за електроенергію. Навчання ML моделей на GPU-кластері вимагає правильної конфігурації.
Приклад: встановлення драйверів та CUDA
# Ubuntu 22.04 apt install linux-headers-$(uname -r) nvidia-driver-535 wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run sh cuda_12.3.0_545.23.06_linux.run --silent --toolkit # cuDNN tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz cp cuda/include/cudnn*.h /usr/local/cuda/include cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 ldconfig nvidia-smi; nvcc --version Приклад: налаштування NCCL та тестування interconnect
apt install libnccl2 libnccl-dev git clone https://github.com/NVIDIA/nccl-tests cd nccl-tests && make ./build/all_reduce_perf -b 1G -e 4G -f 2 -g 8 # Очікується: 1GB ~280 GB/s, 4GB ~300 GB/s (algbw) Вибір Interconnect: InfiniBand проти Ethernet
InfiniBand HDR забезпечує в 2 рази вищу пропускну здатність порівняно з Ethernet 100GbE, що критично для multi-node навчання.
| Параметр | InfiniBand HDR | Ethernet 100GbE |
|---|---|---|
| Пропускна здатність | 200 Gbps | 100 Gbps |
| Латентність | ~1 µs | ~3–5 µs |
| Scaling efficiency для LLM | 85–90% | 60–70% |
| Підтримка RDMA | Нативна | Потрібен RoCEv2 |
Для multi-node навчання з tensor parallelism InfiniBand — обов'язкова вимога. Ethernet допустимий лише при малій кількості вузлів (2–4) або для inference.
Порівняння конфігурацій: одно-вузловий vs multi-node
| Параметр | Одно-вузловий (8x GPU) | Multi-node (32+ GPU) |
|---|---|---|
| Interconnect | NVLink (600 GB/s) | InfiniBand HDR (200 Gbps) |
| Сховище | Local NVMe | Паралельна ФС (Lustre) |
| Планувальник | Slurm / Kubernetes | Slurm + gang scheduling |
| Типове завдання | Fine-tuning LLaMA 7B | Pre-training GPT-3 175B |
Деталі налаштування NCCL
NCCL використовує алгоритми Tree, Ring та NVLS. Для H100 рекомендується увімкнути NVLS (NVLink Shared) для прискорення all-reduce. Параметр NCCL_ALGO=NVLS може дати приріст 10-15%. Також важливий NCCL_IB_HCA для вказання InfiniBand інтерфейсів. Більш детально про NCCL можна прочитати в офіційному репозиторії (https://github.com/NVIDIA/nccl).
Оркестрація: Slurm чи Kubernetes?
Slurm — стандарт HPC, краще для довгих batch-завдань з фіксованою кількістю GPU. Kubernetes + GPU Operator — для контейнеризації та динамічного виділення ресурсів. Ми допомагаємо обрати відповідний варіант і налаштувати gang scheduling, щоб всі GPU-поди запускалися одночасно.
Встановлення GPU Operator (Helm)
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia helm install gpu-operator nvidia/gpu-operator --namespace gpu-operator --create-namespace --set driver.enabled=true --set toolkit.enabled=true Приклад job для Slurm
#!/bin/bash #SBATCH --nodes=4 #SBATCH --ntasks-per-node=8 #SBATCH --gres=gpu:8 #SBATCH --partition=a100 #SBATCH --time=48:00:00 srun python train.py --nproc_per_node=8 --nnodes=4 Моніторинг: DCGM Exporter та метрики
helm install dcgm-exporter nvidia/dcgm-exporter Ключові метрики: GPU utilisation (>85%), memory copy utilisation, NVLink bandwidth, power usage.
Типові помилки при налаштуванні
- Пропуск налаштування NUMA affinity — призводить до втрати 10–20% продуктивності.
- Використання одного розділу файлової системи для датасетів та чекпоінтів — вузьке місце IO.
- Відсутність тестів AllReduce між вузлами — часто виявляється тільки в продакшені.
- Неправильні параметри планувальника (timeout, backfill) — GPU простоюють.
Результати та гарантії
Після налаштування кластера ви отримуєте:
- Утилізацію GPU не нижче 85% при стандартних навантаженнях.
- Scaling efficiency 85–90% для multi-node навчання.
- Документовану процедуру розгортання та моніторингу.
Ми гарантуємо, що налаштований кластер працюватиме стабільно, а при виникненні проблем — надамо підтримку в рамках угоди. Наше портфоліо включає понад 20 успішних GPU cluster setup проектів. Оцінимо ваш проєкт за 1–2 дні. Зв'яжіться для консультації та отримайте попередню оцінку. Пропонуємо налаштування під ключ, включаючи документацію та навчання команди.
Що входить в роботу
- Аудит поточної інфраструктури та вимог
- Проектування архітектури
- Встановлення та налаштування драйверів, CUDA, NCCL
- Інтеграція з планувальником (Slurm/Kubernetes)
- Налаштування моніторингу та дашбордів
- Документація та навчання команди
- Підтримка протягом 3 місяців
Замовте налаштування та забудьте про простої GPU.







