2.9 KiB
2.9 KiB
Lab4 快速开始指南
一、编译程序
cd /home/yly/dev/hpc-lab-code/lab4
xmake
二、运行实验并收集数据
./lab4.sh
这将:
- 检查 GPU 信息
- 运行所有 CUDA 程序
- 将结果保存到
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
实验报告要点
必须回答的问题
思考题:
- Kernel1 的数据划分策略
- Kernel2 的优化策略和线程同步的必要性
- Kernel2 的进一步优化空间
实验数据:
- 向量加法: 数据规模 vs 时间
- 矩阵乘法: CPU vs GPU 性能对比
- BLOCK_SIZE: 对性能的影响
图表:
- 使用
plot_results.py自动生成 - 或手动使用 Excel/Python/matplotlib
性能分析要点
加速比计算:
加速比 = 基准时间 / 优化后时间
FLOPS 计算:
矩阵乘法: 2 × M × N × K 次浮点运算
GFLOPS = 运算次数 / (时间秒 × 10^9)
关键指标:
- 运行时间 (ms)
- GFLOPS (计算性能)
- 加速比 (相对提升)
- 带宽利用率
下一步
- ✓ 编译程序
- ✓ 运行实验
- ✓ 生成图表
- ⏭ 填写实验报告模板
- ⏭ 分析数据并得出结论
- ⏭ 提交实验报告
祝实验顺利!