Stanford-CS149
项目介绍
Stanford CS149, Fall 2025 PARALLEL COMPUTING 是 Stanford 的并行计算课程。 这一部分把它的四次作业真的做一遍再写下来 —— 一半是课程原始 handout(题目、环境、评分), 一半是上机跑出来的实验报告(命令、输出、性能数字都在里面)。
高性能计算入门最难受的地方是「概念都懂、性能调不出来」。所以每一份报告都尽量给出 可以照着复现的完整链路:环境怎么配、内核怎么写、再用 profiler 找出真正的瓶颈,一轮一轮优化下去。
你会学到什么
| 主题 | 在哪一章 |
|---|---|
| SIMD 与向量指令:AVX2 八路并行、mask、向量利用率 | Assignment 1 |
| 多线程与空间分解、负载均衡、加速比分析 | Assignment 1 |
ISPC 的 SPMD 编程模型(foreach / launch) |
Assignment 1 |
| 从零实现任务执行库:三种线程池、自旋 vs 休眠 | Assignment 2 |
| 任务图(DAG)调度与依赖簿记 | Assignment 2 |
| GPU 并行:Prefix-Sum、原子性、顺序一致性 | Assignment 3 |
| 张量加速器:片上 SRAM、循环分块、算子融合 | Assignment 4 |
| 性能剖析:roofline、引擎占用、定位带宽瓶颈 | 各篇实验报告 |
怎么读
每个作业下面挂两份材料:
- 实验要求 —— 课程原始 handout:背景、任务拆解、环境搭建、评分标准
- 实验报告 —— 实现过程与实测数据:执行了什么命令、真实输出是什么、性能怎么变、踩过哪些坑
建议顺序:先看实验要求知道要做什么,再看实验报告跟一遍真实过程。 报告里的每个数字都来自真机运行,没有跑过的位置会明确标注。
关于运行平台
Assignment 4 的课程原版面向 AWS Trainium2,需要预付费开卡(约 $2.25/小时)。 我实际是在华为昇腾 CANNLab 上完成的,所以这一章保留了两份实验要求 (Trainium2 原版 + 昇腾 Ascend C 版), 你可以按手上有的平台任选一份跟做。
许可
作业说明部分基于 Stanford CS149 的课程材料, 版权归 Stanford 所有;实验报告与实现代码为本仓库作者所写。