title: GPU 测试
created: 2026-06-20
updated: 2026-08-14
type: concept
tags: [gpu, nvidia, intel, cuda, deepstream]
sources:
- raw/scripts/NVIDIAGPU.sh
- raw/scripts/nvidia.sh
- raw/scripts/nvidia.cuda13.sh
- raw/scripts/reboot_gpu.sh
- raw/scripts/DeepStream.sh
- raw/scripts/intel.gpu.sh


GPU 测试

GPU 测试涵盖 NVIDIA 和 Intel 显卡的驱动安装、CUDA 工具链部署、DeepStream SDK 安装配置、GPU 压力测试以及性能验证。本页汇总 GPU 测试中的核心概念和常用操作。

NVIDIA 驱动安装

依赖准备

安装 NVIDIA 驱动前需要确保系统具备编译内核模块所需的基础工具:

# RHEL/CentOS
yum install -y make gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) which cmake
# Ubuntu/Debian
sudo apt-get install -y make gcc linux-headers-$(uname -r)
# 通用构建依赖
sudo apt-get install build-essential
sudo dnf install elfutils-libelf-devel

屏蔽 Nouveau 开源驱动

Nouveau 是 NVIDIA 显卡的开源驱动,会与新安装的官方驱动冲突,必须屏蔽:

echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
# CentOS 更新 initramfs
sudo dracut -force
# Debian/Ubuntu 更新 initramfs
sudo update-initramfs -u

验证屏蔽成功:lsmod | grep nouveau 应无输出。

Runfile 安装方式

NVIDIA 官方提供 .run 安装包,推荐使用以下参数进行静默安装:

sudo sh NVIDIA-Linux-*.run \
  --ui=none \
  --no-questions \
  --accept-license \
  --disable-nouveau \
  --no-cc-version-check \
  --install-libglvnd 2>&1

关键参数说明:
- --ui=none — 无交互界面,适用于远程/脚本安装
- --no-questions — 不询问用户问题,自动采用默认值
- --accept-license — 自动接受许可协议
- --disable-nouveau — 安装时自动屏蔽 Nouveau 驱动
- --no-cc-version-check — 跳过 GCC 版本检查(某些系统 GCC 版本与驱动要求不匹配时使用)
- --install-libglvnd — 安装 GLVND(OpenGL Vendor-Neutral Dispatch)库

参考:Linux 常规操作与优化 中的内核参数调整(如 IOMMU 开启)对 GPU 直通有影响。

卸载驱动

sudo nvidia-uninstall
# 或 apt 方式卸载
sudo apt-get --purge remove nvidia*
sudo apt autoremove

查看 GPU 信息

通过 lspci 查看 GPU

lspci 是 Linux 上查看 PCI 设备的标准工具:

# 查看所有 NVIDIA GPU
lspci -nn | grep -i nvidia
# 按 PCI Vendor ID 查找 (10de = NVIDIA)
lspci -d 10de: -vvv | grep --color Width
# 确认 GPU 是否被内核识别
lspci -nnk -d 10de:
# 查看 DCU (K100)
lspci -d 1d94:6210
# 查看完整设备树
lspci -tv

通过 nvidia-smi 查看 GPU

# 基本信息
nvidia-smi
# 查看拓扑结构(NUMA 亲缘性、PCIe 交换机拓扑)
nvidia-smi topo -m
# 查看 P2P 支持
nvidia-smi topo -p2p rw
# 查询完整信息(包括 Serial Number、Bus Id)
nvidia-smi -q
# 按 CSV 格式输出特定字段
nvidia-smi --format=csv \
  --query-gpu=gpu_name,serial,gpu_bus_id,vbios_version,memory.total,\
pcie.link.gen.max,pcie.link.gen.current,pcie.link.width.max,pcie.link.width.current
# 查看 ECC 状态
nvidia-smi -q -d ECC
# 关闭 ECC
nvidia-smi -e 0
# 监控(dmon 模式)
nvidia-smi dmon -s uctpm

nvidia-smi dmon 参数:
- u — 利用率(SM/mem/enc/dec/jpeg/ofa)
- c — 时钟频率(mclk/pclk)
- t — 温度
- p — 功耗
- m — 内存使用(FB、BAR1、CC)
- e — ECC 错误 + PCIe Replay 错误

GPU 定位方法

通过 BUS-ID 定位物理卡槽:

# 查看 GPU 序列号和 BUS-ID 对应关系
nvidia-smi -q | grep -E "Serial Number|Bus Id"
# 通过 dmidecode 查看槽位信息
sudo dmidecode -t slot | egrep -i "slot|add"

CUDA 工具包安装

环境变量配置

安装 CUDA Toolkit 后,配置系统环境变量:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64

推荐写入 /etc/profile 使其全局生效,然后 source /etc/profile

CUDA 13

CUDA 13 是最新主要版本。安装方式与其他版本一致,但需要下载对应 CUDA 13 的 runfile 或包管理器仓库配置。在 RHEL 9 上使用 dnf 配置 CUDA 13 仓库安装:

sudo dnf config-manager --add-repo \
  https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo

相关测试脚本详见 nvidia.cuda13.sh

CUDA Samples 测试

编译并运行 CUDA Samples 验证驱动和 CUDA 安装:

git clone https://github.com/nvidia/cuda-samples.git
cd cuda-samples && mkdir build && cd build
cmake .. && make -j$(nproc)
# P2P 带宽延迟测试
./Samples/5_Domain_Specific/p2pBandwidthLatencyTest/p2pBandwidthLatencyTest
# 带宽测试(逐卡)
for i in {0..7}; do
  ./Samples/1_Utilities/bandwidthTest/bandwidthTest --device=$i
done
# 矩阵乘法测试
./Samples/0_Introduction/matrixMul/matrixMul -device=0 -wA=20480 -hA=20480 -wB=20480 -hB=20480

NCCL 测试

NVIDIA Collective Communications Library (NCCL) 是多 GPU 通信库,用于分布式训练场景:

# 编译 nccl-tests
make CUDA_HOME=/usr/local/cuda
# AllReduce 性能测试
./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8
# 高性能模式
NCCL_NTHREADS=$(nproc) NCCL_MIN_NCHANNELS=8 ./build/all_reduce_perf -b 1g -e 8g -f 2 -g 8
# 禁用 P2P(某些场景需要)
NCCL_P2P_DISABLE=1 ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8

NCCL 测试还包括 all_gather、all_to_all、broadcast、reduce、scatter 等多种集合通信模式。

DeepStream SDK

DeepStream 是 NVIDIA 的智能视频分析(IVA)SDK,基于 GStreamer 管道:

# 安装依赖(GStreamer 插件)
sudo apt install libgstreamer1.0-0 gstreamer1.0-tools \
  gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly gstreamer1.0-libav \
  libgstrtspserver-1.0-0 libjansson4 libyaml-cpp-dev
# 安装 TensorRT
sudo dpkg -i nv-tensorrt-repo-*.deb
sudo apt-get update && sudo apt install tensorrt
# 安装 librdkafka
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka && ./configure && make && sudo make install
# 安装 DeepStream
sudo apt-get install ./deepstream-6.1_6.1.0-1_amd64.deb

DeepStream 也支持 Docker 部署,使用 nvcr.io/nvidia/deepstream 镜像。

Intel GPU 配置

Intel GPU(如 Arc A770)在 Linux 上的驱动安装,适用于 RHEL/CentOS 和 Ubuntu:

# Ubuntu 在线安装
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \
  sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo "deb [arch=amd64] https://repositories.intel.com/gpu/ubuntu ${VERSION_CODENAME}/lts/2350 unified" | \
  sudo tee /etc/apt/sources.list.d/intel-gpu-${VERSION_CODENAME}.list
sudo apt update

# 安装驱动和工具
sudo apt install -y linux-headers-$(uname -r) linux-modules-extra-$(uname -r) \
  flex bison intel-fw-gpu intel-i915-dkms xpu-smi

# 媒体运行时
sudo apt install -y intel-opencl-icd intel-level-zero-gpu level-zero \
  intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2

Intel GPU 查看命令:

# lspci 查找 Intel GPU
lspci -nn | grep -Ei 'VGA|DISPLAY'
# Intel GPU 管理工具
xpu-smi discovery
xpu-smi discovery -d 0
xpu-smi stats -d 0

xpu-smi 是 Intel 的 GPU 管理工具,类似于 NVIDIA 的 nvidia-smi,可查看 GPU 利用率、温度、功耗、频率等信息。

GPU 持久模式

GPU 持久模式避免驱动在无进程使用 GPU 时卸载上下文,对频繁调用的推理场景至关重要:

# 方法一:通过 nvidia-persistenced 服务
cd /usr/share/doc/NVIDIA_GLX-1.0/samples
tar xvf nvidia-persistenced-init.tar.bz2
cd nvidia-persistenced-init && ./install.sh
sudo systemctl enable --now nvidia-persistenced

# 方法二:直接设置(重启失效)
nvidia-smi -pm 1

GPU 重启自动化

reboot_gpu.sh 脚本实现 GPU 自动重启和压力测试循环。该脚本通过 /etc/rc.d/rc.local 开机自启:

# 在 rc.local 中添加
echo "/usr/bin/curl http://192.168.1.34/reboot_gpu.sh | /usr/bin/sh" >> /etc/rc.d/rc.local

脚本逻辑:
1. 读取 /var/log/times 中的剩余重启次数(初始值 10)
2. 每次启动时递减计数
3. 运行 GPU Burn 压力测试(600 秒),同时用 nvidia-smi 记录温度、功耗等数据
4. 测试完成后自动重启
5. 计数归零时停止循环并删除自启配置

GPU 压力测试工具(GPU Burn):

git clone https://github.com/wilicc/gpu-burn.git
cd gpu-burn && make
# 运行压力测试 3600 秒,同时记录 nvidia-smi 数据
nvidia-smi --query-gpu=timestamp,name,pci.bus_id,driver_version,pstate,\
temperature.gpu,power.draw,utilization.gpu,utilization.memory,\
memory.total,memory.free,memory.used \
  --format=csv -l 300 > nvidia-smi_$(date +%Y%m%d_%H%M%S).csv &
./gpu_burn 3600

相关页面


NVIDIA GPU 详解

NVIDIA GPU

NVIDIA GPU 是服务器环境中广泛使用的加速计算硬件,用于 AI 训练、科学计算和高性能计算(HPC)。本页涵盖驱动安装、CUDA 工具链部署、运维管理及问题排查方法。

驱动安装(runfile 方式)

推荐使用 NVIDIA 官方 runfile 方式安装驱动,以获得最大灵活性和兼容性。

安装依赖

# RHEL/CentOS
yum install -y make gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) which cmake

# Ubuntu/Debian
sudo apt-get install -y make gcc linux-headers-$(uname -r)
sudo apt-get install build-essential

# Fedora/RHEL 9+
sudo dnf install elfutils-libelf-devel

验证编译环境

ls -l /usr/src/
ls -l /usr/src/kernels/
make -v
gcc -v

安装命令

sudo sh NVIDIA-Linux-*.run \
  --ui=none \
  --no-questions \
  --accept-license \
  --disable-nouveau \
  --no-cc-version-check \
  --install-libglvnd 2>&1

关键参数说明:
- --disable-nouveau:安装时自动屏蔽 nouveau 开源驱动
- --no-cc-version-check:跳过 GCC 版本检查
- --install-libglvnd:安装 GLVND 库支持

卸载驱动

sudo nvidia-uninstall
ps -ef | grep nvidia | awk '{print $2}' | xargs kill -9
sudo rmmod nvidia
sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset

CUDA 工具链安装

下载与安装

NVIDIA CUDA Toolkit 存档 下载对应版本的 runfile:

# ARM 平台示例(如 鲲鹏 + NVIDIA)
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux_sbsa.run
sudo sh cuda_*_linux.run

环境变量配置

vi /etc/profile
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
source /etc/profile
nvcc -V

CUDA Samples 测试

git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
mkdir build && cd build
cmake ..
make -j$(nproc)

# 指定测试 GPU
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7

# 带宽测试
for i in {0..7}; do
  ./Samples/1_Utilities/bandwidthTest/bandwidthTest --device=$i
done

# P2P 带宽延迟测试
./Samples/5_Domain_Specific/p2pBandwidthLatencyTest/p2pBandwidthLatencyTest

# 矩阵乘法性能
./Samples/0_Introduction/matrixMul/matrixMul -device=0 -wA=20480 -hA=20480 -wB=20480 -hB=20480

nouveau 开源驱动屏蔽

方法一:黑名单屏蔽

echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

# CentOS/RHEL
sudo dracut -force

# Ubuntu/Debian
sudo update-initramfs -u

验证

lsmod | grep nouveau

若无输出,则屏蔽成功。

方法二:安装驱动时自动屏蔽

使用 --disable-nouveau 参数运行 NVIDIA 驱动安装脚本,安装程序会自动完成上述屏蔽操作。

GPU 信息查看

lspci 查看 PCIe 设备

# 查看所有 NVIDIA GPU
lspci -nn | grep -i nvidia
lspci -d 10de: -vvv | grep --color Width

# 确认内核驱动识别情况
lspci -nnk -d 10de:

# 查看整机 PCIe 拓扑
lspci -tv

nvidia-smi 查看 GPU 状态

# 基本信息
nvidia-smi

# 拓扑结构
nvidia-smi topo -m
nvidia-smi topo -p2p rw

# 详细查询(含序列号、BUS-ID)
nvidia-smi -q
nvidia-smi -q | grep -E "Serial Number|Bus Id"

# CSV 格式批量输出(适用于长时间监控)
nvidia-smi \
  --query-gpu=timestamp,name,pci.bus_id,driver_version,pstate,\
pcie.link.gen.max,pcie.link.gen.current,\
pcie.link.width.max,pcie.link.width.current,\
temperature.gpu,power.draw,fan.speed,\
utilization.gpu,utilization.memory,\
memory.total,memory.free,memory.used \
  --format=csv -l 300

实时监控

# 利用 dmon 监控温度、功耗、利用率等
nvidia-smi dmon -s uctpm
# u = 利用率 | c = 时钟 | t = PCIe 吞吐 | p = 功耗 | m = 内存 | e = ECC

# 利用 watch 监控
watch -n 1 'nvidia-smi --query-gpu=index,clocks.gr,clocks.mem,power.draw --format=csv'

nvidia-persistenced 持久模式

GPU 驱动默认在无进程访问时会进入低功耗状态,影响首次调用性能。开启持久模式可保持驱动常驻内存。

通过 systemd 服务(推荐)

cd /usr/share/doc/NVIDIA_GLX-1.0/samples
tar xvf nvidia-persistenced-init.tar.bz2
cd nvidia-persistenced-init
./install.sh
sudo systemctl enable --now nvidia-persistenced

通过 nvidia-smi

nvidia-smi -pm 1

查看持久模式状态

nvidia-smi -q | grep "Persistence Mode"

时钟管理与 ECC

查看与设置最大时钟

nvidia-smi -i 0 -q -d CLOCK | grep -A 2 Max
nvidia-smi -lgc 2520,2520   # 锁定图形时钟
nvidia-smi -rgc             # 解除锁频

ECC 管理

nvidia-smi -q -d ECC   # 查看 ECC 状态
nvidia-smi -e 0        # 关闭 ECC(0=关闭, 1=开启)

GPU 重启与恢复

重启 GPU 子系统

# 彻底卸载驱动
ps -ef | grep nvidia | awk '{print $2}' | xargs kill -9
sudo rmmod nvidia
sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset

# 重新加载
sudo nvidia-smi

自动重启脚本(reboot_gpu.sh)

该脚本在服务器重启后自动运行 GPU Burn 压力测试并记录温度变化。通过 /etc/rc.d/rc.local 配置自启:

# /etc/rc.d/rc.local
echo "/usr/bin/curl http://192.168.1.34/reboot_gpu.sh | /usr/bin/sh" >> /etc/rc.d/rc.local

脚本逻辑:
1. 使用计数器文件 /var/log/times 控制重启轮次
2. 每次重启后运行 gpu_burn -tc 600(600 秒压力测试)
3. 结合 nvidia-smi --format=csv -l 60 持续记录温度、功耗
4. 测试结束后执行 reboot 进入下一轮
5. 计数器归零后停止并输出清理说明

故障排查与诊断

收集 Bug 报告

nvidia-bug-report.sh

定位 GPU 物理槽位

# 查看 BUS-ID 与序列号对应关系
nvidia-smi -q | grep -E "Serial Number|Bus Id"

# 查看 PCIe 槽位信息
sudo dmidecode -t slot | egrep -i "slot|add"

查看 IOMMU 状态

dmesg | grep -i iommu

现场诊断工具

# DCGM(Data Center GPU Manager)
sudo systemctl --now enable nvidia-dcgm
dcgmi discovery -l
dcgmi diag -r 4

# Field Diagnostic
fieldiag skip_nvlink p0only
fieldiag skip_nvlink p0only pciid=0:4b:00.0

# NVLink Fabric Manager
systemctl enable nvidia-fabricmanager
systemctl start nvidia-fabricmanager
systemctl status nvidia-fabricmanager

GPU Burn 压力测试

参考 gpu-burn 项目:

wget https://github.com/wilicc/gpu-burn/archive/refs/heads/master.zip
unzip gpu-burn-master.zip
cd gpu-burn-master
make
./gpu_burn 3600   # 运行 3600 秒

NCCL 多卡通信测试

安装 NCCL

# Ubuntu
sudo apt install -y libnccl2=2.20.5-1+cuda12.4 libnccl-dev=2.20.5-1+cuda12.4

# RHEL
sudo yum install -y libnccl-2.20.5-1+cuda12.4 libnccl-devel-2.20.5-1+cuda12.4

NCCL Tests

git clone https://github.com/NVIDIA/nccl-tests
make CUDA_HOME=/usr/local/cuda

# 多卡 AllReduce 测试
GPU_COUNT=$(nvidia-smi --list-gpus | wc -l)
NCCL_NTHREADS=$(nproc) NCCL_MIN_NCHANNELS=$GPU_COUNT \
  ./build/all_reduce_perf -b 1m -e 1g -f 2 -g $GPU_COUNT

相关概念


NVIDIA BlueField-3 DPU

NVIDIA BlueField-3 DPU

BlueField-3 是 NVIDIA 推出的第三代 DPU(Data Processing Unit),集成 16 个 Arm Cortex-A78AE 核心、32GB 板载 DDR 内存、200GbE/NDR200 InfiniBand 网络接口和 PCIe Gen5.0 x16 主机接口。它将网络、存储和安全加速功能卸载到 DPU 上运行,释放主机 CPU 资源。

硬件识别

lspci 识别 DPU 设备

BlueField-3 DPU 的 PCI Vendor ID 为 15b3(Mellanox/NVIDIA):

# 更新 PCI ID 数据库
sudo update-pciids

# 查看 DPU 设备及 PCIe 宽度
lspci -d 15b3: -vvv | grep --color Width

# 示例输出
# 03:00.0 Network controller: Mellanox Technologies MT41686 BlueField-3

BlueField-3 的典型 PCI ID 前缀为 15b3:,包含多个功能端点:网络控制器、rshim 控制通道、NVMe over Fabric 等。

DOCA 软件框架安装

DOCA(Data-Center-on-a-Chip Architecture)是 NVIDIA DPU 的软件开发平台。

安装 doca-host RPM

# 下载 DOCA Host RPM
wget https://www.mellanox.com/downloads/DOCA/DOCA_v2.7.0/host/doca-host-2.7.0-204000_24.04_rhel93.x86_64.rpm

# 安装仓库配置包
rpm -Uvh doca-host-2.7.0-204000_24.04_rhel93.x86_64.rpm

# 更新 yum 缓存并安装 DOCA OFED
yum makecache
sudo yum install doca-ofed -y

卸载 DOCA

for f in $(rpm -qa | grep -i doca); do yum -y remove $f; done
yum autoremove

rshim 驱动验证

rshim(Remote Shim)驱动是主机与 DPU 之间的通信通道,负责镜像刷写和初始配置。

# 重启 rshim 服务
sudo systemctl restart rshim
sudo systemctl status rshim

# 验证 rshim 设备节点
ls /dev/ | grep rshim
# 预期输出:rshim0(或其他编号)

# 查看 rshim 状态信息
cat /dev/rshim0/misc

/dev/rshim0/misc 文件内容示例:

DISPLAY_LEVEL   0 (0:basic, 1:advanced, 2:log)
BOOT_MODE       1 (0:rshim, 1:emmc, 2:emmc-boot-swap)
BOOT_TIMEOUT    150 (seconds)
DROP_MODE       0 (0:normal, 1:drop)
SW_RESET        0 (1: reset)
DEV_NAME        pcie-0000:c1:00.2
DEV_INFO        BlueField-3(Rev 1)
UP_TIME         39(s)

BFB 镜像刷写流程

BFB(BlueField Boot Stream)是包含了 DPU OS 和固件的完整镜像文件。

创建配置文件

# 生成加密密码
openssl passwd -1
Password:
Verifying - Password:
$1$u0QDSqzU$T2grDRRksYPuaaNR1KIAC.

# 创建 bf.cfg 配置文件
cat > bf.cfg << EOF
ubuntu_PASSWORD='$1$u0QDSqzU$T2grDRRksYPuaaNR1KIAC.'
EOF

执行刷写

# 查看帮助
bfb-install -h

# 执行 BFB 安装
bfb-install --bfb DOCA_2.6.0_BSP_4.6.0_Ubuntu_22.04-5.24-01.prod.bfb \
            --config bf.cfg \
            --rshim rshim0

刷写过程会自动执行:BIOS 初始化 → DDR POST → UEFI 启动 → eMMC 探测 → Ubuntu 安装 → 用户密码设置。完成后 /dev/rshim0/miscBOOT_MODE 会自动切换为 emmc 模式。

DPU OS 部署(Ubuntu on BlueField)

刷写完成后,DPU 上运行 Ubuntu 22.04 LTS(aarch64 架构),可通过 tmfifo 虚拟网卡 SSH 登录。

配置主机端网络

sudo ip addr add 192.168.100.1/24 dev tmfifo_net0

SSH 登录 DPU

ssh ubuntu@192.168.100.2

登录后可查看 DPU 的硬件信息:

# 查看 DPU 存储
lsblk
# mmcblk0 — 38.8G eMMC(系统盘)
# nvme0n1 — 119.2G NVMe(数据盘)

# 查看 CPU
lscpu
# Architecture: aarch64
# CPU(s): 16(Cortex-A78AE)
# L3 cache: 16 MiB

# 查看系统信息
cat /etc/os-release
# Ubuntu 22.04.3 LTS

固件升级

sudo /opt/mellanox/mlnx-fw-updater/mlnx_fw_updater.pl --force-fw-update

Mellanox 网卡工具集

与 BlueField DPU 配合使用的 Mellanox 工具链:

MST(Mellanox Software Tools)

sudo mst start
sudo mst restart
sudo mst status -v

查看 InfiniBand 设备

ibv_devices                    # 列出 IB 设备
ibdev2netdev                   # 查看 IB 设备与网卡的映射关系
ibstatus                       # 查看 IB 链路状态
mlnx_tune                      # 显示并检查网络调优信息

修改网卡模式(IB/Ethernet)

# 查看当前配置
mlxconfig -d /dev/mst/mt4123_pciconf0 query

# 切换为 InfiniBand 模式(1=IB, 2=Eth)
mlxconfig -y -d /dev/mst/mt4119_pciconf0 set LINK_TYPE_P1=1

# 切换为 Ethernet 模式
mlxconfig -d /dev/mst/mt4123_pciconf0 set LINK_TYPE_P1=2

带宽测试(ib_write_bw)

# 本地回环测试
ib_write_bw -d mlx5_0 & ib_write_bw -d mlx5_1 127.0.0.1 --report_gbits

# 绑核测试(结合 GPU 拓扑优化 NUMA 亲和性)
taskset -c 0-15 ib_write_bw -d mlx5_0 & \
  taskset -c 32-47 ib_write_bw -d mlx5_1 127.0.0.1 --report_gbits

相关概念