Chuyển tới nội dung chính

NVLink

NVLink chỉ được hỗ trợ trên các flavor instance có 8× GPU NVIDIA H100 hoặc H200. Ở cấu hình này, NVLink mang lại kết nối GPU-GPU băng thông cao, độ trễ thấp, giúp:

  • Training model nhanh hơn, đặc biệt với model lớn cần trao đổi dữ liệu giữa các GPU liên tục
  • Tăng hiệu quả scaling với các framework distributed training (ví dụ: Megatron-LM, DeepSpeed, PyTorch FSDP)
  • Giảm nghẽn giao tiếp so với việc chỉ kết nối GPU qua PCIe
  • Tăng tổng thông lượng tính toán cho workload phụ thuộc vào đồng bộ multi-GPU

Instance có dưới 8 GPU không hỗ trợ NVLink.

ghi chú

NVLink không bật sẵn trong các image do FPT cung cấp. Bạn phải tự bật nếu cần.

Để bật hỗ trợ NVLink, làm theo các bước sau:

  1. Mở file: /etc/default/grub.d/00-fci-grub.cfg
  2. Tìm dòng sau và xóa hoặc comment lại:
GRUB_CMDLINE_LINUX_DEFAULT="nvidia.NVreg_NvLinkDisable=1"
  1. Cập nhật cấu hình GRUB:
sudo update-grub
  1. Reboot instance để thay đổi có hiệu lực.

Kiểm tra

Để xác nhận NVLink đã bật thành công, chạy các lệnh sau.

nvidia-smi nvlink --status

Kết quả sẽ hiển thị các kết nối NVLink đang active kèm tốc độ link (ví dụ: 25 GB/s mỗi lane).

2. Kiểm tra topology GPU

nvidia-smi topo -m

Kết quả sẽ hiển thị kết nối NVLink (NV##) giữa toàn bộ GPU, tương tự:

        GPU0   GPU1   GPU2   GPU3   GPU4   GPU5   GPU6   GPU7   CPU Affinity   NUMA Affinity
GPU0 X NV18 NV18 NV18 NV18 NV18 NV18 NV18 0-127 0-1
GPU1 NV18 X NV18 NV18 NV18 NV18 NV18 NV18 0-127 0-1
GPU2 NV18 NV18 X NV18 NV18 NV18 NV18 NV18 0-127 0-1
GPU3 NV18 NV18 NV18 X NV18 NV18 NV18 NV18 0-127 0-1
GPU4 NV18 NV18 NV18 NV18 X NV18 NV18 NV18 0-127 0-1
GPU5 NV18 NV18 NV18 NV18 NV18 X NV18 NV18 0-127 0-1
GPU6 NV18 NV18 NV18 NV18 NV18 NV18 X NV18 0-127 0-1
GPU7 NV18 NV18 NV18 NV18 NV18 NV18 NV18 X 0-127 0-1

Chú giải:

Ký hiệuÝ nghĩa
XCùng một GPU
SYSPCIe + interconnect giữa các NUMA
NODEPCIe + interconnect trong cùng một NUMA node
PHBPCIe Host Bridge
PXBNhiều PCIe bridge
PIXMột PCIe bridge
NV#Kết nối NVLink với # link được bond

Xử lý sự cố

Nếu gặp các lỗi như:

  • system not yet initialized
  • Lỗi khi gọi torch.cuda.device_count() hoặc torch.cuda.get_device_name(i)

Hãy khởi động lại NVIDIA Fabric Manager:

sudo systemctl restart nvidia-fabricmanager

Sau đó thử lại ứng dụng hoặc các bước kiểm tra.