hpc-lab-code/lab4/QUICKSTART.md
2026-01-21 18:02:30 +08:00

2.9 KiB
Raw Blame History

Lab4 快速开始指南

一、编译程序

cd /home/yly/dev/hpc-lab-code/lab4
xmake

二、运行实验并收集数据

./lab4.sh

这将:

  1. 检查 GPU 信息
  2. 运行所有 CUDA 程序
  3. 将结果保存到 experiment_data/ 目录

三、生成图表 (可选)

安装依赖

pip install matplotlib numpy

运行绘图脚本

./plot_results.py

图表将保存到 experiment_data/figures/ 目录

四、查看实验数据

所有数据文件位于 experiment_data/:

  • gpu_info.txt - GPU 硬件信息
  • vectoradd_results.txt - 向量加法测试结果
  • matrixmul_comparison.txt - CPU vs GPU 对比数据
  • blocksize_analysis.txt - BLOCK_SIZE 分析数据

五、填写实验报告

参考 实验报告模板.md,其中包含:

  • 所有思考题的详细解答
  • 需要填写的性能数据表格
  • 图表分析指导

文件说明

源代码

  • vectoradd.cu - 向量加法 (实验 4.2)
  • MatrixMul_cpu.cu - CPU OpenMP 矩阵乘法
  • MatrixMul_kernel1.cu - CUDA 基础版本
  • MatrixMul_kernel2.cu - CUDA 共享内存优化
  • matrixmultiply_block_size_change.cu - BLOCK_SIZE 性能测试

脚本和配置

  • xmake.lua - 构建配置
  • lab4.sh - 实验数据收集脚本
  • plot_results.py - 自动生成图表
  • README.md - 详细实验说明
  • 实验报告模板.md - 报告模板

常见问题

Q: 编译失败,提示找不到 CUDA

A: 确保 CUDA 已安装,并设置环境变量:

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

Q: 运行时提示 "no CUDA-capable device is detected"

A: 检查 GPU 驱动:

nvidia-smi

Q: Python 脚本运行失败

A: 安装必要的依赖:

pip install matplotlib numpy

Q: 想单独运行某个程序

A:

cd build/linux/x86_64/release
./vectoradd
./MatrixMul_cpu
./MatrixMul_kernel1
./MatrixMul_kernel2
./matrixmultiply_block_size_change

实验报告要点

必须回答的问题

思考题:

  1. Kernel1 的数据划分策略
  2. Kernel2 的优化策略和线程同步的必要性
  3. Kernel2 的进一步优化空间

实验数据:

  • 向量加法: 数据规模 vs 时间
  • 矩阵乘法: CPU vs GPU 性能对比
  • BLOCK_SIZE: 对性能的影响

图表:

  • 使用 plot_results.py 自动生成
  • 或手动使用 Excel/Python/matplotlib

性能分析要点

加速比计算:

加速比 = 基准时间 / 优化后时间

FLOPS 计算:

矩阵乘法: 2 × M × N × K 次浮点运算
GFLOPS = 运算次数 / (时间秒 × 10^9)

关键指标:

  • 运行时间 (ms)
  • GFLOPS (计算性能)
  • 加速比 (相对提升)
  • 带宽利用率

下一步

  1. ✓ 编译程序
  2. ✓ 运行实验
  3. ✓ 生成图表
  4. ⏭ 填写实验报告模板
  5. ⏭ 分析数据并得出结论
  6. ⏭ 提交实验报告

祝实验顺利!