Skip to content

feat(assignment01): 自动评测配置 grading/ - #1

Open
YouZiliCC wants to merge 1 commit into
lcpu-club:mainfrom
YouZiliCC:feat/assignment01-grading
Open

feat(assignment01): 自动评测配置 grading/#1
YouZiliCC wants to merge 1 commit into
lcpu-club:mainfrom
YouZiliCC:feat/assignment01-grading

Conversation

@YouZiliCC

Copy link
Copy Markdown
Member

配合 seminars-infra-judger(AOI runner,基于 lfs-auto-grader 的单机 Docker 评测机)使用的 assignment01 自动评测配置。

内容

  • student_files.txt — 评测取用的学生文件白名单(9 个 kernels + 12 个 CUDA 文件);白名单之外(tests/conftest.pyMakefilejudge_saxpy.sh 等)一律用官方版本,防止改测试作弊
  • cuda_targets.txt — CUDA 计分目标与权重:常规题权重 1,压轴 3.5 reduce 权重 2;判定沿用 common.h 约定(退出码只表达正确性)
  • pytest_flags — 选做题(1.6 simt_sim、7.8 triton softmax、Bonus matmul)默认不计入自动评分
  • grade_cuda.sh — 逐目标编译运行,产出 cuda_report.jsonpass/fail/compile_error/not_attempted 四态);压轴 2.9 saxpy 走现有 judge_saxpy.sh,7 个测试点给部分分,权重 3
  • README.md — 评测流程、计分范围与调整方式

评测流程

评测容器以官方 assignment01 为基准建工作树 → 白名单覆盖学生文件 → WMHPC_GRADING=1pytest --json-reportgrade_cuda.sh → judger 的 wmhpc1 adapter 加权合并两份报告计分。

概念题/填表题无判测载体,不自动计分。评分范围与权重后续只需改本目录,不需要动 judger 或重建镜像。

待讨论

  • 选做题是否计分(改 pytest_flags 一行)
  • CUDA 各目标权重是初版拍脑袋值,欢迎调整

🤖 Generated with Claude Code

配合 seminars-infra-judger(AOI runner)使用:
- student_files.txt: 评测取用的学生文件白名单,tests/ 等一律用官方版本
- cuda_targets.txt: CUDA 计分目标与权重(退出码定通过,saxpy 单独按 7 个
  测试点给部分分,权重 3)
- pytest_flags: 选做题(1.6/7.8/Bonus)不计入自动评分
- grade_cuda.sh: 产出 cuda_report.json(pass/fail/compile_error/not_attempted)
- README.md: 评测流程、计分范围与调整方式

概念题/填表题无判测载体,不自动计分。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant