摩尔线程 S80显卡双卡本地运行大模型千问3
先写坑 足足折腾了2天, 也被ai 老带跑偏。 主要是想帮大家避坑, 把遇到的问题记录下来防止丢失
其实我觉得可能2个v100 更加合适比这个可能快点。 也简单
真实对国产的显卡支持, 买了2个用来学习。当手办 2年前买的支持国产,现在上市了,希望别放弃技术
大家有问题都在帖子下面留言 方便大家查问题
硬件配置
cpu AMD 5600 支持pcie 4 通道
华硕B450 plus 双卡主板 主板是b550 570 最好 支持pcie 4
特别注意摩尔线程显卡对主板型号有要求
首先 你去摩尔线程网站下载驱动 里面文档是有写明 用了哪个内核的linux和哪个版本的Ubuntu
但是这个系统默认的核心版本是新版本, 你得专门 下载老版本的核心
查看当前核心 uname -r
5.15.0-105-generic 文档要求的核心
切换Linux核心
第一件事情就是干这个
安装完系统
dpkg --list | grep linux-image 查看系统一共有几个核心
sudo apt remove linux-image-6.8.0-101-generic 切换到老核心后 删除新核心
sudo apt autoremove --purge
sudo update-grub
ubuntu 是支持多个核心的系统。 但是但是很多核心的驱动是没有的, 你切到5.15.0-105-generic
核心 网卡的驱动就丢了。 所以你得在新安装好的系统里面把网卡驱动都下载好。 在切过去之后第一件事情是安装网卡驱动
网上有些视频教程非常老驱动,安装的时候老出问题。
最难受的问题是安装他们的3.1.1的驱动 总是和图形界面冲突导致系统奔溃还得卸载驱动。
下面这个是点开机按钮后 可以看到菜单让你选核心进去系统
直接按这个步骤操作,确保能看到并进入旧内核:
1. 强制显示 GRUB 菜单
sudo nano /etc/default/grub
找到这两行,改成:
plaintext
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
保存退出:Ctrl+O → Enter → Ctrl+X
2更新引导
运行
sudo update-grub
3. 重启并选择内核
运行
sudo reboot
重启后会直接显示 GRUB 菜单:
- 选 Advanced options for Ubuntu
- 再选 Ubuntu, with Linux 5.15.0-105-generic
4. 验证内核
运行
uname -r
显示 5.15.0-105-generic 就成功了。
最稳、最简单的操作流程(照着做就行)
- 开机进 原来 6.x 内核(有网的那个)
- 去华硕官网 / 瑞昱官网下载 RTL8125 或 I211 的 Linux 驱动(一般是
.tar.gz) - 把驱动文件复制到 桌面 / home 目录
- 重启 → 进 5.15.0-105 内核
- 编译安装网卡驱动
- 网来了 → 再装 musaSDK / 驱动
1. 先看你是什么网卡(硬件型号)
lspci | grep -E 'Ethernet|Network'
再看当前用的驱动
dmesg | grep -i 'eth' | head -20
网卡是 Realtek RTL8111/8168/8411 千兆网卡,当前驱动是 r8169,这个网卡在 5.15.0-105 内核里原生支持,切内核后大概率直接能用,不用手动装驱动。
给你 100% 稳的操作步骤(照着来就行)
第一步:先在当前能上网的 6.x 内核里,提前准备好 5.15.0-105 内核和验证工具
bash
运行
# 1. 更新软件源(确保能下载到指定内核)
sudo apt update
# 2. 安装5.15.0-105-generic内核(关键!版本必须对)
sudo apt install -y linux-image-5.15.0-105-generic linux-headers-5.15.0-105-generic
# 3. 更新grub引导(让系统识别新内核)
sudo update-grub
# 4. (可选但推荐)下载r8169驱动备用(防止极端情况)
# 先装编译依赖(切内核后离线装驱动会用到)
sudo apt install -y build-essential git
# 克隆驱动源码到本地(存到home目录,切内核后能找到)
git clone https://github.com/mtorromeo/r8168.git ~/r8168-driver
第二步:重启切内核,验证网卡是否正常
- 执行
sudo reboot重启系统 - 开机时按住
Shift键,调出 GRUB 菜单 - 选择「Advanced options for Ubuntu」→ 选「Ubuntu, with Linux 5.15.0-105-generic」
- 进入系统后,执行以下命令验证:
# 1. 确认内核是5.15.0-105(必须显示这个) uname -r # 正常输出:5.15.0-105-generic # 2. 检查网卡驱动是否加载 lsmod | grep r8169 # 有输出就说明驱动加载成功
第三步:如果极端情况切内核后网卡没网(备用方案)
如果真的没网,用提前下载的驱动离线装:
# 进入驱动源码目录
cd ~/r8168-driver
# 编译安装驱动
sudo ./autorun.sh
# 重启网卡
sudo systemctl restart NetworkManager
AMD CPU 特殊配置
我这边安装的是4.2。0 的驱动。去官网注册下载
自己按照文档里面的步骤执行, 看你下载的那个最新的文档和驱动
我这边接着写。安装完成驱动之后的怎么安装ollama
需要多卡运行创建ollama的docker
执行官方的文档执行步骤 完成后。 参考下载文档
sudo docker run -it -d \
--name=ollama2 \
-v ./ds:/root/.ollama \
--privileged=true \
--device=/dev/dri:/dev/dri \
--device=/dev/musa:/dev/musa \
--device=/dev/musax:/dev/musax \
-v /usr/lib/x86_64-linux-gnu/libmusa.so:/usr/lib/x86_64-linux-gnu/libmusa.so \
-e MUSA_VISIBLE_DEVICES="0,1" \
-e LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH \
mthreads/ollama
如果你的设备只有单张摩尔线程显卡,建议将 MUSA_VISIBLE_DEVICES="0,1" 改为 MUSA_VISIBLE_DEVICES="0",
或者直接运行
sudo docker run -it -d --name=ollama -v ./ds:/root/.ollama --privileged=true mthreads/ollama
# 1. 查看已有ollama容器状态(确认是否已运行/停止)
docker ps -a | grep ollama
# 2. 若容器是停止状态(STATUS列显示 Exited),
启动它 docker start ollama2
如果你觉得坏了就删除# 1. 停止并删除旧容器(--force 强制删除运行中的容器)
docker stop ollama && docker rm --force ollama
进入docker里面
sudo docker exec -it ollama2 bash
运行ollama
ollama run qwq:32b --verbose
记住了这里的docker 是 mthreads/ollama
“mthreads 的 Ollama” 实际上是指 摩尔线程官方适配并发布的 Ollama 镜像,专门用于在其自研的 MTT 系列 GPU(如 MTT S80、S5000 等)上高效运行大语言模型
ollama的版本如果要运行最新的模型, 需要 摩尔线程更新他们的这个docker镜像,不然你只能运行老模型
官方的文档执行步骤
驱动安装
2.1 资源需求:
• MT GPU 卡
• 操作系统:Ubuntu 22.04
• 内核版本 5.15.0-105-generic
说明:
集群内部机器无法直接在宿主机上安装 deb 包,请卸载 operator 相关组件后安装。
摩尔线程 MOORE THREADS
2
2.2 配置 Bios
1. 将显示器连接到主板上,并断开电源重新启动计算机。 在启动过程中,按下 delete 键 以进入
BIOS 设置界面。
2. 在 BIOS 设置界面中,找到并开启 above 4G 选项。
3. 查找并将 resize bar 开关置为 ON。请注意,大部分主板在首次开机时此选项默认为 OFF,并且
通常显示在 BIOS 菜单的右上角。
4. 如果使用的是内存 >=256G 的服务器,则必须开启 IOMMU(VT-d) 选项。
# 如果 IOMMU 是关闭的 , 可通过如下步骤开启
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="intel_iomm
u=on iommu.passthrough=0"/' /etc/default/grub
# 如果你的 CPU 是 AMD/HG, 请改为 amd_iommu=on, 而不是 intel_iommu=on
sudo update-grub
sudo reboot
#根据如下命令判断是否开启IOMMU
sudo cat /var/log/dmesg | grep -e "AMD-Vi: Interrupt remapping enabled" -e "IOMMU enabled
"
#注意:第二行会清除系统上原有的quiet,以保证重启后BMC能看到图形界面。另外,请务必选择软重启,硬
重启不能保证所有写入行为同步到文件。
1. 按 F10 键保存 BIOS 配置并退出。
2.3 安装 MT 驱动 Deb 包
2.3.1 环境依赖
# 查看 pci 是否识别到显卡
lspci -nn | grep 1ed5
#安装依赖包(若已安装请忽略)
sudo apt install dkms
sudo apt install linux-modules-extra-(uname -r)
sudo apt install linux-headers-(uname -r)
sudo apt install libgbm1 libglapi-mesa libdrm2
2.3.2 卸载驱动
#卸载 old musa deb
sudo dpkg -P musa
#如果报错 mtgpu is inuse,直接重启即可
sudo rmmod mtgpu
#查询是否仍有 mtgpu ko 残留
lsmod |grep mtgpu
3
摩尔线程 MOORE THREADS
2.3.3 安装驱动
#安装 MT DDK 驱动,以 musa_3.1.0-rc4.2.0-server-Ubuntu_amd64.deb包为例
sudo dpkg -i musa_3.1.0-rc4.2.0-server-Ubuntu_amd64.deb
# 重启电脑来更换驱动(强烈建议)
sudo reboot
#如果特殊情况下希望不重启更换驱动,可以手动重新加载驱动
modprobe -rv mtgpu && modprobe mtgpu
2.3.4 设置用户组
非 Root 用户如需获取设备使用权限,可参考以下方式设置:
# 把普通用户账号,加进 render group。
sudo usermod -aG render ${USER}
sudo usermod -aG video ${USER}
# 重新登入账户
2.4 验证安装 && 版本查询
2.4.1 mthreads-gmi
# 通过 mthreads-gmi 校验 DDK 安装。
mthreads-gmi
2.4.2 查看版本信息
#查看 KMD 版本信息
方式一 :dmesg |grep "Driver Version"
方式二 :cat /var/log/dmesg | grep "Driver Version"
2.5 其他
• 多卡环境,配置用户可见设备
通过设置 MUSA_VISIBLE_DEVICES 环境变量来指定。
• 如何开启显示桌面
Ubuntu 22.04 默认使用 gdm3,参考如下命令安装 lightdm:
apt install lightdm
dpkg-reconfigure lightdm
• 设置 DISPLAY 输出选项
# DP输出
# HDMI输出
echo "options mtgpu display=dp" > /etc/modprobe.d/mtgpu.conf
摩尔线程 MOORE THREADS
4
echo "options mtgpu display=hdmi" > /etc/modprobe.d/mtgpu.conf
# Dummy输出
echo "options mtgpu display=dummy" > /etc/modprobe.d/mtgpu.conf
• 关闭开机自动加载 mtgpu.ko
#在 /etc/modprobe.d/mtgpu.conf 中设置 blacklist。
echo "blacklist mtgpu" >> /etc/modprobe.d/mtgpu.conf
• 重新加载 ko 后需要重启 lightdm 来获取显示
systemctl stop lightdm
systemctl start lightdm
• 删除 Xorg 配置文件
sed -i "s/lib\/xorg/local\/bin/" /usr/bin/X
ldconfig /usr/local/lib
3.MUSA Toolkit 安装指南
本章主要描述了 MUSA Toolkit 的详细安装步骤。
前提条件
已安装兼容版本 MT GPU 驱动。
3.1 准备工作
1. 检查 MT GPU 驱动版本。
mthreads-gmi
1. 若未安装或未安装适配版本 MT GPU 驱动,请参考上一节驱动安装。
3.2 安装 MUSA Toolkit
MUSA Toolkit 支持安装到主机(host)或 docker 环境中。
说明:
• 运行环境在 docker 上,建议在 docker 中安装 musa toolkit。
• 运行环境在 host 上,且需要安装 container toolkit 时。安装顺序为 musa toolkit > container
toolkit,否则会和 container tookit 发生冲突。
5
摩尔线程 MOORE THREADS
3.2.1 安装
先进入到安装包的下载目录下,然后依次执行:
# 以musa_toolkits_4.2.0.tar.gz为例
tar -zxvf musa_toolkits_4.2.0.tar.gz
cd musa_toolkits_install
bash ./install.sh -u # 先卸载环境已安装的musa
bash ./install.sh # 以上两条命令非root用户需要sudo提权执行
正常安装完毕后,终端会输出如下提示:
Successfully installed MUSA in /usr/local/musa
Please export /usr/local/musa/bin to PATH in ~/.bashrc
export PATH=/usr/local/musa/bin:${PATH}
Please export /usr/local/musa/lib to LD_LIBRARY_PATH in ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/musa/lib:${LD_LIBRARY_PATH}
3.2.2 设置环境变量
1. 文本编辑器打开用户终端配置文件:
vim ~/.bashrc
2. 在打开的配置文件末尾追加如下命令:
export MUSA_INSTALL_PATH=/usr/local/musa
export PATH=$MUSA_INSTALL_PATH/bin:$PATH
export LD_LIBRARY_PATH=$MUSA_INSTALL_PATH/lib:$LD_LIBRARY_PATH
3. 配置文件会在下次启动终端时生效。如果想立即在当前终端生效,请执行:
source ~/.bashrc
3.2.3 验证
验证 MUSA Toolkit 是否安装成功,运行以下命令。
musa_version_query
将输出如下结果:
说明:
这里仅展示重要信息,实际运行可能有其他详细信息
# 这里以1.5.0版本为例
musa_toolkits:
{
"version": "1.5.0"
摩尔线程 MOORE THREADS
6
}
mcc:
{
}
mublas:
{
"version": "1.5.0"
"version": "1.1.0",
"build archs": "21"
}
mufft:
{
"version": "1.2.0",
"build archs": "21"
}
muPP:
{
"version": "1.3.0",
"build archs": "21"
}
murand:
{
"version": "0.9.0",
"build archs": "21"
}
musify:
{
}
musa_runtime:
{
}
"version": "0.2.0"
"version": "1.5.0"
检查子模块是否正确包含以及数学库的架构是否正确。
4.muDNN 安装指南
本章主要描述了 muDNN 的详细安装步骤。
4.1 准备工作
已安装兼容版本 MT GPU 驱动及MUSA Toolkit。
摩尔线程 MOORE THREADS
7
4.2 安装 muDNN
4.2.1 安装
# 以mudnn_3.0.0.CC2.2.tar.gz为例
tar -zxvf mudnn_3.0.0.CC2.2.tar.gz
cd mudnn && ./install_mudnn.sh -i
4.2.2 设置环境变量
DNN_PATH=$(realpath mudnn)
export LD_LIBRARY_PATH=${DNN_PATH}/lib:$LD_LIBRARY_PATH
安装完成后,您可以查看 muDNN 的所有 API。
5.MCCL 安装指南
本章主要描述了如何配置 MCCL 运行环境及其安装步骤。
5.1 资源需求:
• 多张 MT GPU 卡
• 一块或多块 InfiniBand 网卡
• 已安装 Linux 操作系统的服务器
5.2 检查项目
确认以下开关、组件及其版本号,以便安装 MCCL 后能顺利运行。
# System BIOS & OS IOMMU enabled
# ib devices & ib driver
# DDK version
# KMD enable_rdma
# MUSA Toolkit version
5.3 配置服务器 BIOS
5.3.1 配置 IOMMU(必须)
如果 BMC 有 BIOS checking 功能,可以先检查 VT-d (Intel) / IOMMU (AMD or HG) 是否已被打开。
如果当前处于 IOMMU disabled 状态,则需要在 BIOS 以及 grub 中手动开启 IOMMU:
8
摩尔线程 MOORE THREADS
• Intel 平台:使能(enable) Intel VT for Directed I/O (VT-d)选项。
• AMD 或海光平台:使能 IOMMU 选项。
重启前,需要更改 grub 配置:
# if IOMMU is off, perf the following steps
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="intel_iomm
u=on iommu.passthrough=0"/' /etc/default/grub
# If your CPU is AMD/HG, please use amd_iommu=on, not intel_iommu=on
sudo update-grub
sudo reboot
注意:
第二行会清除系统上原有的 quiet,以保证重启后 BMC 能看到图形界面。另外,请务必选择软
重启,硬重启不能保证所有写入行为同步到文件。
# check system physical memory size
sudo dmidecode -t memory | grep Size: | grep -v "No Module Installed" | awk '{sum+=$2}END
{print sum}'
如果内存总量>256 GB,则请开启 IOMMU 以使能 GPU Direct peer-to-peer,否则 MCCL 的传输路径默认
为 /dev/shm,该路径的通信带宽较低。
运行以下命令检查当前环境是否已经使能 IOMMU:
sudo cat /var/log/dmesg | grep -e "AMD-Vi: Interrupt remapping enabled" -e "IOMMU enabled
"
出现 kernel: DMAR: IOMMU enabled 或者 kernel: AMD-Vi: Interrupt remapping enabled,则说明
IOMMU 已经打开并使能。
5.4. 配置网络
如果没有 IB 网卡,只有以太网,则无需配置 IB。
5.4.1 安装 IB 驱动
如果有 IB 网卡,但是 IB 驱动未安装,请先安装 IB 驱动。
5.4.2 配置 OpenSM 服务(可选)
如果没有 IB 交换机,2 台服务器间 IB 端口通过 IB 光纤直连,可配置 OpenSM 服务。
9
摩尔线程 MOORE THREADS
5.4.2.1 配置 OpenSM
两台服务器都需要做以下配置:
opensm --create-config /etc/opensm/opensm.conf
编辑修改 /etc/opensm/opensm.conf 以下内容:
routing_engine updn
sm_priority 13 # 范围为 0-15,这里两台服务器sm_priority要不一样,数值大的为 master,另一台即
为 back。
如果一台服务器有多个 IB 端口,需要同时运行 OpenSM 服务,可进行以下配置:
• 手动,对每个 IB 端口启动 opensm 服务。
opensm -B -g <port guid> # 如 opensm -B -g 0xb83fd203005686b2
• 自动,在 /etc/opensm/opensm.conf中,guid 项添加多个 IB 端口 guid,以逗号隔开,如:
# DEVICE ATTRIBUTES OPTIONS
#
# The port GUID on which the OpenSM is running.
# Multiple port GUIDs can be specified separated by comas
guid 0xb83fd2030056874a,0xb83fd203005686b2
5.4.2.2 启动 OpenSM
手动启动:
systemctl start opensm # 或 /etc/init.d/opensmd start
设置开机启动:
systemctl enable opensm
5.4.2.3 检查 OpenSM 是否正常工作
sudo mst status
5.4.3 验证 IB 是否工作
通过 ibstat 命令查看 IB 端口是否正常工作:
$ibstat
CA 'mlx5_0'
CA type: MT4123
Number of ports: 1
Firmware version: 20.31.1014
10
摩尔线程 MOORE THREADS
Hardware version: 0
Node GUID: 0xb83fd203005682a2
System image GUID: 0xb83fd203005682a2
Port 1:
State: Active
Physical state: LinkUp
Rate: 200
Base lid: 12
LMC: 0
SM lid: 5
Capability mask: 0x2651e848
Port GUID: 0xb83fd203005682a2
Link layer: InfiniBand
如果其中一个 network port 的 physical state 是 LinkUp,而且 Link layer 标明为 InfiniBand,就说明已
经使能了 IB 网络。
5.5 安装 MT GPU 驱动
请确保 MT GPU 驱动正确安装,参考前面的驱动安装章节。
如果使用容器环境工作,更新驱动后,请务必重启容器,以便在容器中使能新驱动。
5.6 安装 MUSA Toolkit
请确保安装正确版本的 MUSA Toolkit,参考前面 MUSA Toolkit 安装指南章节。
重要提示:
MUSA Toolkit 需要安装在运行环境中:
• 运行环境在 host 端,则需要先安装 MUSA Toolkit,再安装 MT container toolkits,否则 MUSA
Toolkit 会和 MT container toolkits 发生文件冲突。
• 运行环境在 docker 容器中,直接在 docker 容器中安装 MUSA Toolkit。
完装完毕后,请根据提示,配置相关环境变量。
5.7 检查驱动及 MUSA Toolkit 是否安装成功
/usr/local/musa/bin/driver_version_query
/usr/local/musa/bin/musa_version_query
/usr/local/musa/bin/musaInfo
5.8 安装 MCCL
安装 MCCL 包,以 mccl_2.0.0.tar.gz 为例:
11
摩尔线程 MOORE THREADS
sudo tar -zxvf mccl_2.0.0.tar.gz
cd ./mccl
sudo bash ./install.sh -i
5.9 环境优化
OPTION VALUE
VALUE
Devices and I/O Ports->MM Config Base 3GB
Operation Mode Maximum Performance
Power->Workload Configuration I/O sensitive
Memoy->Patrol Scrub Disabled
Processor->SNC Enabled
除了 IOMMU 特性,系统中的其他特性也会对通信性能造成一定影响,如:处理器的动态调频技术,
UPI 总线的能效管理功能等。
为了获取最佳性能,建议您在不同服务器上为 MCCL 设置如下对应的优化选项。
• MCCX 1.0 (Lenovo D800)
OPTION • MCCX 2.0 (H3C)
OPTION VALUE
Socket Con iguration→Advance Power Management Con iguration→Workload Pro ile
Configuration
Socket Con iguration→Common RefCode Con iguration→Virtual Numa Enabled
Socket Con iguration→Advance Power Management Con iguration→CPU-Advanced PM
Tuning→Energy Perf BIAS→Workload Con iguration
Low
Latency
I/O
sensitive
注意:
在 MCCX 2.0 上,部分 BIOS 优化选项不会生效,如:CPU Power Management 的 governor
配置。所以进入系统后,您可以执行以下命令来使 CPU 进入 performance 模式。
sudo cpupower -c all frequency-set -g performance
如果出现以下日志,则说明当前平台不支持 Linux OS 下配置 CPU 运行频率。
Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
如果你安装3.1.1 的驱动遇到 系统挂了的问题
启动显示
从屏幕上的错误信息可以看出,有两个关键服务启动失败:
Detect the available GPUs and deal with them:GPU 检测服务失败Light Display Manager:显示管理器(图形界面)启动失败
这个可以修好。 就是命令进去把摩尔线程的驱动 删除掉,重启就可以
中文乱码不管他,不会的命令问 ai 豆包啥的
修改pip命令的软件源 不然特别满下载安装
# 1. 先创建 root 用户的 pip 配置目录
sudo mkdir -p /root/.config/pip
# 2. 创建并编辑 root 的 pip.conf 文件
sudo nano /root/.config/pip/pip.conf
# 3. 粘贴以下内容(和普通用户的配置一致)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
# 4. 按 Ctrl+O 保存,Ctrl+X 退出
mac制作ubuntu 启动盘
超级简单 清华站点下载iso 文件超级快
找到 U 盘设备名,如 /dev/disk2(注意:不是 disk0、disk1,避免格式化系统盘!)
diskutil list
#卸载 U 盘(不弹出)
diskutil unmountDisk /dev/disk4
执行 dd 烧录(关键!路径与设备名替换为你的)
sudo dd if=~/Downloads/ubuntu-22.04-desktop-amd64.iso of=/dev/rdisk4 bs=1m
从你的 mthreads-gmi 输出可以看到:
- 卡 0:PCIe 带宽是
4x(16x),实际运行在 x4 模式 - 卡 1:PCIe 带宽是
16x(16x),实际运行在 x16 模式
这确实会对性能产生影响,尤其是在多卡协同或高负载场景下:
注意看自己的pcie 通道。很多主板不是2个全速通道的
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)