基础环境配置
驱动程序配置
在搭建AI工作站时,正确配置NVIDIA驱动和CUDA环境是至关重要的,这直接关系到深度学习框架能否正常运行。让我们逐步完成这些配置。
NVIDIA驱动安装
1. 准备工作
• 首先禁用nouveau开源驱动: echo 'blacklist nouveau' | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u• 重启系统使更改生效
• 使用以下命令查看推荐驱动: ubuntu-drivers devices
• 一般选择标记为 recommended
的版本• 对于最新的RTX 40系列显卡,建议使用535或更新版本的驱动
sudo apt update
sudo apt install nvidia-driver-550 # 根据推荐版本号调整
• 重启系统后,运行: nvidia-smi
• 如果能看到显卡信息和驱动版本,说明安装成功
CUDA环境配置
1. 下载并安装CUDA Toolkit
• 访问NVIDIA官网下载对应版本的CUDA • 推荐使用.run文件安装,便于自定义: sudo sh cuda_12.x.x_linux.run
• 安装时只选择CUDA Toolkit,不要选择Driver选项
• 编辑~/.bashrc文件: echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc• 使配置生效: source ~/.bashrc
nvcc --version
cuDNN安装与配置
1. 下载cuDNN
• 从NVIDIA开发者网站下载对应CUDA版本的cuDNN • 解压下载的文件: tar -xzvf cudnn-*.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
基础环境配置
完成驱动安装后,我们需要对系统进行基础环境配置,以确保整个工作站能够稳定高效运行。
用户权限管理
1. 创建开发用户 sudo adduser aidev
sudo usermod -aG sudo aidev2. 配置sudo免密 sudo visudo
# 添加以下行
aidev ALL=(ALL) NOPASSWD: ALL3. 调整系统限制
• 编辑/etc/security/limits.conf: aidev soft nofile 65535
aidev hard nofile 65535
开机启动项配置
1. 创建自启动服务
• 创建系统服务文件: sudo nano /etc/systemd/system/aigpu.service
• 配置示例: [Unit]
Description=AI GPU Service
After=network.target
[Service]
User=aidev
WorkingDirectory=/home/aidev
ExecStart=/path/to/startup/script.sh
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable aigpu
sudo systemctl start aigpu
网络配置优化
1. 系统网络参数优化
• 编辑/etc/sysctl.conf: # 增加最大连接数
net.core.somaxconn = 65535
# 加快TCP连接释放
net.ipv4.tcp_fin_timeout = 30
# 允许TIME_WAIT状态socket重用
net.ipv4.tcp_tw_reuse = 1
sudo sysctl -p
• 安装流量控制工具: sudo apt install wondershaper
• 设置网络接口带宽限制: sudo wondershaper eth0 1000000 1000000 # 上传和下载限制为1Gbps
远程访问环境配置
远程访问对于AI工作站来说是非常重要的功能,它让我们能够随时随地访问和管理工作站。下面我们来配置几种常用的远程访问方式。
SSH服务器配置
1. 安装SSH服务器 sudo apt update
sudo apt install openssh-server2. 优化SSH配置
• 编辑/etc/ssh/sshd_config: # 修改默认端口(可选,建议修改以提高安全性)
Port 2222
# 禁用密码认证,使用密钥认证
PasswordAuthentication no
# 允许公钥认证
PubkeyAuthentication yes
# 限制root用户远程登录
PermitRootLogin no
# 在客户端生成密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server
# 在客户端.ssh/config中添加
Host aistation
HostName your_server_ip
User aidev
Port 2222
LocalForward 8888 localhost:8888 # 用于Jupyter Notebook
LocalForward 6006 localhost:6006 # 用于TensorBoard
防火墙设置
1. 配置UFW防火墙 sudo ufw allow 2222/tcp # SSH端口
sudo ufw allow 5900/tcp # VNC端口
sudo ufw allow 3389/tcp # RDP端口
sudo ufw enable2. 配置端口转发
• 编辑/etc/sysctl.conf: net.ipv4.ip_forward=1
• 应用更改: sudo sysctl -p
远程桌面配置
1. VNC服务器安装 sudo apt install tigervnc-standalone-server tigervnc-common
2. VNC配置 # 设置VNC密码
vncpasswd
# 创建配置文件
mkdir -p ~/.vnc
nano ~/.vnc/configgeometry=1920x1080
dpi=96
localhost
alwaysshared
• 配置文件内容:
# 创建系统服务
sudo nano /etc/systemd/system/vncserver@.service
• 服务文件内容: [Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=aidev
PAMName=login
PIDFile=/home/%u/.vnc/%H:%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
多媒体处理环境搭建
FFmpeg安装与配置
1. 编译安装与优化 # 安装依赖
sudo apt install build-essential yasm cmake libtool libc6 \
libc6-dev unzip wget libnuma1 libnuma-dev
# 下载源码
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
# 配置编译选项
./configure --enable-gpl --enable-nonfree --enable-libx264 \
--enable-libx265 --enable-cuda --enable-cuvid --enable-nvenc \
--enable-libnpp --extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64
# 编译安装
make -j$(nproc)
sudo make install2. 常用命令详解
• 视频转码: # H.264编码
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 output.mp4
# HEVC编码
ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 28 output.mp4• GPU加速转码: # 使用NVENC编码器
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 \
-c:v h264_nvenc -preset p4 -crf 23 output.mp4
图像处理库配置
1. OpenCV安装 # 安装依赖
sudo apt install build-essential cmake pkg-config \
libjpeg-dev libpng-dev libtiff-dev libavcodec-dev \
libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libgtk-3-dev \
libatlas-base-dev gfortran python3-dev
# 下载并编译OpenCV
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.8.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.8.0.zip
unzip opencv.zip && unzip opencv_contrib.zip
# 配置并编译
cd opencv-4.8.0
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.8.0/modules \
-D PYTHON_EXECUTABLE=$(which python3) \
-D BUILD_EXAMPLES=ON ..
make -j$(nproc)
sudo make install2. Pillow配置 # 安装Pillow及其依赖
sudo apt install python3-pil python3-pil.imagetk
pip install --upgrade pillow
音频处理工具
1. Sox工具使用 # 安装Sox
sudo apt install sox libsox-fmt-all
# 常用命令示例
# 转换采样率
sox input.wav -r 44100 output.wav
# 调整音量
sox input.wav output.wav vol 2.0
# 添加效果
sox input.wav output.wav reverb2. 音频编解码库配置 # 安装常用编解码库
sudo apt install libmp3lame-dev libvorbis-dev libopus-dev \
libfdk-aac-dev libpulse-dev
# 安装Python音频处理库
pip install librosa soundfile python-speech-features3. 音频处理性能优化
• 启用实时处理优先级: sudo nano /etc/security/limits.conf
# 添加以下行
@audio - rtprio 95
@audio - memlock unlimited• 配置ALSA缓冲区: sudo nano /etc/asound.conf
# 添加配置
pcm.!default {
type hw
card 0
periods 2
period_size 1024
}
这些配置完成后,你的Ubuntu系统将具备运行各种AI模型所需的基础环境。记得定期检查系统日志以确保所有服务正常运行,并根据实际使用情况适当调整参数。