Skip to content

初赛提交指南

提交时间

以下时间均为北京时间。

初赛提交开放时间为 2026 年 10 月 19 日(周一)00:00:00。

初赛提交截止时间为 2026 年 11 月 22 日(周日)23:59:59。

你需要在截止时间之前使用以下提供的提交脚本向计分服务器发送你的结果,提交脚本会在开始执行时记录本地时间戳。计分服务器以检查提交时的服务器时间作为判断是否开放或截止的依据,请提前完成上传。

比赛集群登录节点与积分服务器的时间差异问题

由于机器间时间差异及网络延迟等因素,提交时间戳与计分服务器时间的差异须在 10 分钟内;这不会延后截止时间。

请不要尝试伪造该时间戳,组委会将可能要求临近结束时提交的队伍提供文件修改时间等佐证材料。

请参赛队伍注意截止时间,尽早提交,以免出现错过提交截止时间的情况。概不接受因机器时间差异等原因导致错过截止时间的补交请求。

准备提交文件

各题计分提交使用下列 UTF-8 文本日志,单个文件不超过 100 MiB。最终材料须通过 REPORT 提交一个 .tar.gz 压缩包,具体见本页“最终材料提交”。

优化报告提交要求

每队必须将所有赛题要求的优化报告、源码、运行脚本和结果材料统一打包为 一个 .tar.gz 文件,通过 REPORT 提交。各题所需材料见相应赛题页;压缩包同样受本页提交时间限制。

HPL

提交一份 HPL 运行日志(即 slurm 输出文件,如 hpl_xxx.out),原样提交,不得修改。日志中必须包含:

  • 运行起止时间标注(run.sh 开头/结尾 echo 的 Start/End,缺少则无效);
  • HPL 完整原始标准输出:banner、参数说明、结果表(T/V、N、NB、P、Q、Time、Gflops)、残差检查 ...... PASSED;
  • 只包含一个测试规模(N)的运行结果;多次运行请只保留其中一次的结果重新提交。

具体参见 HPL 赛题中的提交要求。

SuperMSA

提交一份 SuperMSA 完整运行日志,即在运行目录执行 sbatch SuperMSA/job_baseline.slurm 后生成的 stdout.<JOBID>,原样提交,不得修改。日志中必须包含:

  • 预处理耗时 prologue time = ... s,必须为有限的非负数;即使没有额外预处理,也必须保留该行;
  • 全部 100 条正式 query 的运行记录及正确性评测汇总,official queries、with hit table 均须为 100,incorrect 的分母须为 100,search time 后须标明 (100 run);
  • mean ROC10、incorrect = ... / 100 queries 等正确性结果,以及有效的 search time = ... s ... (100 run);搜索耗时必须为有限的正数;
  • 同一次完整运行的结果,不得拼接多次运行、复用旧查询结果或只截取末尾汇总;缺失命中表、漏跑查询或运行失败的日志无效。

计分用时为 prologue time + search time,预热时间不计入;正确性部分按 incorrect 扣分,每个错误 query 扣除该部分分值的 1/5,最低为 0。

以下片段用于说明日志格式;实际提交须包含完整原始输出。完整样例可下载 supermsa-sample.log,具体参见 SuperMSA 赛题中的提交要求。

预处理开始...

prologue time  = 2.0 s
预热 5 次(不计时)...
[1/100] A0A077VJV0_1: 310.5s, 223 hits
[2/100] A0A0A8RHQ0_1: 315.9s, 894 hits
...
[100/100] X5DSL3_1: 196.7s, 42 hits
正式计时: 45372.3 s(运行 100 条,跳过 0 条)
reading labels from path/to/database.fasta ...
query            superfamily  homologs   hits     TP    FP   ign  recall    prec    ROC1   ROC10    base  correct
A0A077VJV0_1     d.290.1           915    223    223     0     0  0.2437  1.0000  0.2437  0.2437  0.2437  True
A0A0A8RHQ0_1     b.34.1           1252    894    894     0     0  0.7141  1.0000  0.7141  0.7141  0.7141  True
...
X5DSL3_1         d.22.1            235     42     42     0     0  0.1787  1.0000  0.1787  0.1787  0.1787  True
labeled sequences in database: 1985260  (1696 superfamilies)
official queries: 100  |  with hit table: 100  |  detail: seed_baseline/results/seed2026/scores_vs_baseline.tsv
mean recall    = 0.7491
mean precision = 0.9502
mean ROC1      = 0.7053
mean ROC10     = 0.7231   <- primary quality metric
incorrect      = 0 / 100 queries (ROC10 < 90% of baseline)
search time    = 45372.3 s   <- official: wall clock from end of warm-up to last query (100 run)

SuperShip

初赛期间,每队通过提交脚本提交一份 SuperShip 运行日志,原样提交,不得修改。请使用 200 张公开参考测试图像运行仓库提供的计时脚本:

RUNS=3 bash benchmark_reference.sh > supership.out 2>&1

日志应包含一次完整的三轮计时测试。解析器支持以下两种计时记录:

  • 三条运行记录:run 1/3: ... s、run 2/3: ... s、run 3/3: ... s;
  • 官方计时脚本输出的 JSON 汇总,其中 runs_seconds 包含三次耗时,median_seconds 为其中位数。

官方脚本默认同时输出上述两种记录,请完整保留。两者同时存在时,必须相互一致,系统优先采用 JSON 中精度更高的计时数据。

所有耗时必须为有限的正数。日志存在运行失败信息、计时记录缺失或重复、多个计时汇总、计时数值不合法或中位数不一致等情况时,提交无效。不得将多次计时测试的日志拼接提交,也不得从不同测试中挑选三次结果。

系统提取三次端到端运行时间的中位数,单位为秒,用于后续统一计分,耗时越短越好。本环节仅依据日志提取时间,不以日志格式校验通过代替检测精度、结果完整性及优化合法性检查。

样例日志:baseline_supership.log(单张 RTX 3090,200 张公开参考测试图像,三次运行,中位耗时约 4.162 秒)。具体参见 SuperShip 赛题中的提交要求。

SuperJUNO

SuperJUNO 共有 3 个正式测例,每个测例分别提交,测例与提交名称对应如下:

测例 提交名称
0 SUPERJUNO-0
1 SUPERJUNO-1
2 SUPERJUNO-2

每个正式测例提交一份 Slurm 作业的完整标准输出 output/logs/superjuno-<JOBID>.out,原样提交,不得修改。该日志须由 Slurm 作业中的 python scripts/run.py <id> --compare 生成,并包含:

  • 作业开始、结束记录,以及 01_fsmp_prior、02_fsmp、03_reconstruct 三个阶段和 Completed: 记录;
  • 有限且大于 0 的总耗时 TOTAL: ... s,以及指向本次运行计时 CSV 的 Timing: output/logs/<id>-<runid>.time.csv;
  • PE、tvE 两项完整比较报告:参考与候选文件路径、0: PASS (atol=1e-06, rtol=1e-06) 和各自的 Comparison exit code: 0;
  • Pipeline exit code: 0、Final exit code: 0,以及作业结束记录中的 Exit code: 0。日志内所有测例编号须与提交名称一致,所有记录须来自同一次运行。

计分用时取 TOTAL,包含三个计算阶段及其数据读写,不含后续正确性比较和排队时间。不能只提交某一阶段的日志、单独比较的结果或计时 CSV。

SUPERJUNO 是排行榜汇总列,不能直接提交;示例点 one 不计分。样例日志:superjuno-one-sample.log(仅供对照格式,不能作为正式测例提交)。

具体参见 SuperJUNO 赛题中的提交要求。生成数据、分阶段日志、计时 CSV 和优化报告等材料按该页最终提交要求准备。

准备提交脚本

在 Linux 集群登录节点上,将提交脚本 submit.sh 下载到集群上,然后添加执行权限:

wget https://lab.cs.tsinghua.edu.cn/scc/assets/submit.sh
chmod +x submit.sh

不要修改提交脚本

在通常情况下,你不需要也不应该修改 submit.sh 文件中的内容。

如果你认为确有必要进行某种修改,请先在参赛群中与工作人员交流并得到许可。

使用脚本提交

提交脚本的用法为 ./submit.sh [--dry] <problem> <file>,其中:

  • --dry 为可选项,表示只提交到服务器进行合法性检验,不计入成绩计算;同样受开放和截止时间限制
  • problem 为题目名称,在 HPL、SUPERMSA、SUPERSHIP、SUPERJUNO-0、SUPERJUNO-1、SUPERJUNO-2、REPORT 中选择(不区分大小写);REPORT 用于最终材料,不计入排行榜分数
  • file 为提交文件的路径

例如,以下指令将提交 HPL 题目的 logs/hpl_12345.out 文件:

./submit.sh HPL logs/hpl_12345.out

以下指令将测试 HPL 题目的 logs/hpl_12345.out 文件是否合法,不计入成绩计算:

./submit.sh --dry HPL logs/hpl_12345.out

SuperMSA、SuperShip 和 SuperJUNO 的提交示例如下,请将文件名和作业编号替换为本队实际运行产生的文件:

./submit.sh SUPERMSA stdout.12345
./submit.sh SUPERSHIP supership.out
./submit.sh SUPERJUNO-0 output/logs/superjuno-23450.out
./submit.sh SUPERJUNO-1 output/logs/superjuno-23451.out
./submit.sh SUPERJUNO-2 output/logs/superjuno-23452.out

在第一次提交时,脚本会提示输入提交用户名和密码。用户名为组委会发放的队伍编号(如 thu2601),提交用户名、密码将通过邮件发送到各队队长的邮箱中。在第一次输入后,这些信息会被保存在 ~/.thuscc_credentials 文件中,之后的提交无需再次输入密码。若密码输入错误,可以在删除该文件后重新进行提交。

如果一切顺利,你将看到如下输出:

Server Message: Submission Accepted; Performance: ...

使用 --dry 时,校验成功的消息以 Validation Passed (dry run) 开头。请以 Server Message 确认提交结果,消息后可能附有性能值和校验详情。

其他可能出现的结果包括:

  • File Missing: 积分服务器没有收到你提交的文件
  • Bad Request (... are required): 提交脚本发送的其他参数错误
  • Time Error (difference between server time and submit time is more than 10 minutes):提交时间与计分服务器时间相差超过 10 分钟
  • Submission Not Yet Open:尚未到开放提交时间
  • Submission Already Closed:提交时间已过截止时间
  • Unknown Team:提交用户名不正确,请确认使用组委会发放的队伍编号
  • Wrong Password:提交密码错误
  • Unknown Problem (choose from ...):提交时指定的题目名称错误
  • Multiple Results:你的提交文件中可能包含了多次运行或多个测试规模的结果,请使用只包含一次运行结果的完整日志重新提交
  • Invalid Result (...):你的提交没有通过基本的合法性校验,括号中包含了具体的错误原因。如果你看到了令人困惑的错误原因,请首先确认是否交错了题目
  • Validation Passed (dry run):使用了 --dry 选项,只进行了合法性检验,不计入成绩计算

其他特殊情况

如果你得到了 Failed Storing Submission File 或 Unknown Error (please contact admin or staff) 等指示您联系管理员的信息,请立即在参赛群中联系工作人员。

最终材料提交

每队必须将所有赛题的最终材料整理为一个目录(以下以 final/ 为例),打包为 一个 .tar.gz 压缩包 后通过 REPORT 提交。建议命名为 final.tar.gz,只接受 .tar.gz 格式,不接受 ZIP、.tgz 或单独的 PDF 文件;压缩包须完整可读,大小不超过 100 MiB。

tar -czf final.tar.gz final/
./submit.sh --dry REPORT final.tar.gz    # 检查压缩包是否合法,不保存提交
./submit.sh REPORT final.tar.gz          # 正式提交最终材料

压缩包内须包含各题要求的优化报告、源码或补丁、运行脚本、配置及结果材料,具体清单见各赛题的最终提交要求。--dry 只检查文件格式,不代替正式提交,也不代表材料内容已通过组委会审核。请在本页规定的提交截止时间前完成正式上传。

实时排行榜

你可以在 THUSCC26 实时排行榜 页面查看根据所有队伍当前提交计算的实时成绩排名。

同一队伍、同一题目以最后一次成功的正式提交作为当前成绩,并非自动保留历史最好成绩;--dry 和未通过校验的提交不会覆盖当前成绩。SuperJUNO 的三个测例分别更新,再汇总为本题总分。