CS267 · Project 导读

期末项目:并行计算实践

项目占总成绩 45%,是课程的核心实践环节——你需要动手实现一个并行程序,分析其性能,并撰写技术报告。

📅 Proposal: 3月14日 📊 Poster: 4月29/5月1日 📝 Report: 5月14日 ⚖️ 权重: 45%

项目是什么?

一句话总结:以小组(最多 3 人)形式,选择一个与并行计算相关的问题,动手实现并行解决方案,进行性能分析,最终提交 10 页技术报告并在 poster session 展示。

CS267 的期末项目不是写代码作业——它是一个完整的研究实践:从提出问题、设计算法、实现并行代码、收集实验数据,到撰写学术报告和展示海报。重点是动手并行编程和性能分析。

关键数据

项目要求
组队人数最多 3 人(可与作业组不同)
Proposal2 页,占 4%
Final Report10 页 LaTeX,单栏,占 40%
PosterWoz Lounge 展示,占 5%
Pre-proposal初步想法讨论,占 1%

时间线

1

Pre-proposal(1月31日)

与教师讨论初步想法。不需要正式文档,但建议准备 1-2 段描述你想做什么、为什么有趣。教师会给出方向性建议。

2

Google Form 提交(3月12日)

填写项目信息表,用于创建 bCourses 条目。截止后 2 天提交正式 proposal。

3

Proposal(3月14日,11:59pm)

2 页文档,必须包含以下 5 个章节:

  1. The hypothesis — 研究问题与预期结果
  2. Context — 合作背景、与更大研究的关系
  3. Key prior work — 约 3 篇相关前期工作
  4. Empirical methodology — 计划方法与所需资源
  5. Challenges — 预期困难与限制
4

Poster Session(4月29日 / 5月1日)

在 Wozniak Lounge(Woz Lounge)进行海报展示。两组不同日期,每组展示约 2 小时。向同学、教师和访客介绍你的工作。

5

Final Report(5月14日,11:59pm)

严格截止——需按时出分,无延期。


评分标准

四个评分维度,按重要性排序——前两项是所有项目必须包含的:

1. 实践内容
⭐⭐⭐⭐
创造力、实现/调优努力
2. 实验数据
⭐⭐⭐⭐
扩展性、性能分析
3. 理论内容
⭐⭐⭐
算法设计与分析
4. 影响力
⭐⭐
难度与时效性

重要规则

自动并行化框架限制:深度学习框架(PyTorch/TensorFlow 等)仅可作为对比基准。项目核心必须是动手并行编程——直接写 MPI、CUDA、OpenMP 代码,而非调用现成的自动并行化工具。

自动调优工具:代码生成/自动调优工具同样仅可作为对比。例外情况(如大规模分布式化学软件需要快速单节点矩阵乘法)需逐案审批。


项目想法

自主命题

鼓励提出自己的想法,尤其是将并行计算应用于你正在做的研究。可以从以下方向思考:

历年项目参考

年份资源
2025Highlight Slides(官方云端资料未在本站发布)
2024Oral Presentations(官方云端资料未在本站发布)
2023Oral Presentations(官方云端资料未在本站发布)
2022Posters & Abstracts(官方云端资料未在本站发布)
2019YouTube Playlist

建议与心态

尽早开始讨论。课程鼓励你在 proposal 阶段就与教师讨论想法。教师可以帮助你评估可行性、建议技术路线、避免选题过大或过小。

项目不是"做一个并行程序"——项目是"提出一个有趣的问题,用并行计算解决它,并用数据证明你的方案有效"。


导读要点

目标

动手并行编程 + 性能分析

核心

前两个评分维度必须覆盖

原则

不调用自动并行化框架

建议

尽早与教师讨论想法