| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 8 核+ |
| 内存 | 16 GB | 32 GB+ |
| 磁盘 | 50 GB SSD | 100 GB+ SSD |
| GPU | NVIDIA GPU (Compute Capability ≥ 6.0) | A100/H100 (教学集群) 或 RTX 3060+ (个人电脑) |
| GPU 显存 | 4 GB+ | 8 GB+ |
Compute Capability 对照: GTX 10 系列 = 6.1, RTX 20 系列 = 7.5, RTX 30 系列 = 8.6, RTX 40 系列 = 8.9, A100 = 8.0, H100 = 9.0
| 方案 | 适用场景 | 说明 |
|---|---|---|
| 本地 GPU | 有 NVIDIA 显卡的个人电脑 | 直接安装驱动 + CUDA Toolkit |
| Docker 容器 | 有 GPU 但不想影响宿主机环境 | 使用模块 1 中搭建的 CUDA 容器 |
| 云 GPU | 无本地 GPU | AWS/AutoDL/Lambda Labs 等按需租用 |
| Google Colab | 免费、轻度使用 | 自带 CUDA 环境,适合简单实验 |
# 查看推荐驱动版本
ubuntu-drivers devices
# 安装推荐驱动 (Ubuntu)
sudo apt update
sudo apt install -y nvidia-driver-570
# 重启
sudo reboot
# 验证驱动
nvidia-smi
注意: 如果遇到 Nouveau 驱动冲突,需要先禁用:
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"然后重启。
# 使用 NVIDIA 官方 runfile 安装 (推荐,不依赖系统包管理器)
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run
sudo sh cuda_12.8.0_570.86.10_linux.run
# 安装时取消选中 Driver (已经安装过了),只安装 Toolkit
# 设置环境变量 (添加到 ~/.bashrc)
echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# 验证
nvcc --version
# 克隆 CUDA 示例
git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples/Samples/1_Utilities/deviceQuery
make
./deviceQuery
# 拉取 CUDA 开发镜像
docker pull nvidia/cuda:12.8.0-devel-ubuntu22.04
# 启动交互式开发容器
docker run -it --gpus all \
-v $(pwd):/workspace \
-w /workspace \
nvidia/cuda:12.8.0-devel-ubuntu22.04 /bin/bash
# 验证
nvcc --version
nvidia-smi
%%cu magic)# Colab 中运行 CUDA
!nvcc --version
!nvidia-smi
# 1. 确认 GPU 可见
nvidia-smi
# 2. 确认 nvcc 可用
nvcc --version
# 3. 编译测试程序
cat > test.cu << 'EOF'
#include <stdio.h>
#include <cuda_runtime.h>
__global__ void hello() {
printf("GPU thread %d of block %d\n", threadIdx.x, blockIdx.x);
}
int main() {
int deviceCount;
cudaGetDeviceCount(&deviceCount);
printf("Found %d CUDA device(s)\n", deviceCount);
hello<<<2, 4>>>();
cudaDeviceSynchronize();
return 0;
}
EOF
nvcc -o test test.cu
./test
# 预期输出:
# Found 1 CUDA device(s)
# GPU thread 0 of block 0
# GPU thread 1 of block 0
# ...
nvidia-smi 显示 “No devices were found”lspci | grep -i nvidia 查看系统是否识别到设备nvcc 命令找不到ls /usr/local/cuda/bin/echo $PATH | grep cudasource ~/.bashrccudaMalloc 返回错误nvidia-smi 顶部显示的 “CUDA Version” 是驱动支持的最高 CUDA 版本%%cu cell magic 直接写 CUDA 代码!nvcc -o prog prog.cu && ./prog