跳到主要内容

ASC 学生超级计算机大赛 2025

英文原件

ASC25_Preliminary_Round_Announcement.pdf ASC25_Preliminary_Round1 ASC25_Preliminary_Round2 ASC25_Preliminary_Round3 ASC25_Preliminary_Round4 ASC25_Preliminary_Round5 ASC25_Preliminary_Round6 ASC25_Preliminary_Round7 ASC25_Preliminary_Round8 ASC25_Preliminary_Round9 ASC25_Preliminary_Round10 ASC25_Preliminary_Round11 ASC25_Preliminary_Round12 ASC25_Preliminary_Round13 ASC25_Preliminary_Round14 ASC25_Preliminary_Round15 ASC25_Preliminary_Round16 ASC25_Preliminary_Round17

初赛公告

亲爱的 ASC25 队伍们:

欢迎来到 2025 年 ASC 学生超级计算机大赛(ASC25)!

ASC 学生超级计算机大赛(ASC25)已走过了 13 个年头,作为全球最大规模的超级计算与人工智能“黑客马拉松”,始终致力于培养青年人才、推动超级计算与 AI 创新。自 2024 年 11 月 21 日在 SC24 大会期间启动以来,ASC25 受到广泛关注,已有数百支队伍报名。大赛即将于 2025 年 1 月 6 日进入初赛阶段,期待在这一轮又一轮的创新与协作中迸发新的火花。


初赛:各队伍准备提交作品

在 ASC25 的初赛阶段,各参赛队伍需尽最大努力完成指定任务,并提交详细的方案文档。提交内容应包括集群设计细节、源码优化思路以及产出的结果文件。ASC25 评审委员会将以英文对所有方案进行严格、公正的审核。


提交指南

重要截止日期:
所有参赛队伍必须在 2025 年 2 月 21 日 24:00(UTC/GMT +8:00)之前提交所有要求的材料。

  1. 方案提交

  2. 其他材料

    • 所有附加材料请统一压缩为一个文件,命名方式与方案文件相同,例如:ABC University John Doe
    • 该压缩包中 至少需要包含 下述四个文件夹(详见附录 A 的要求):
      • HPL 的输出文件
      • HPCG 的输出文件
      • AlphaFold3 推理挑战所需的文件
      • RNA m^5C 挑战所需的文件
    • 请将压缩包上传到比赛官方提供的 FTP 服务器(地址稍后会通过邮件告知)。
  3. 提交确认与支持

    • 请务必在截止日期前完成并提交所有所需材料,否则无法获得相应的成绩。
    • 所有材料成功接收后,参赛队伍将收到确认邮件。
    • 如有任何疑问或需要帮助,请联系:

ASC25 组委会祝愿各队伍在本届大赛中取得优异成绩!


I. 学校在超级计算领域的相关工作简介(5 分)

  1. 与超级计算相关的软硬件平台
  2. 与超级计算相关的课程、培训及兴趣小组
  3. 与超级计算相关的科研及应用
  4. 最多 2 项与超级计算研究相关的主要成果简述

II. 队伍介绍(5 分)

  1. 团队组成简介
  2. 每位成员的个人介绍和照片,包含团队合照
  3. 团队口号或标语

III. 技术方案要求(90 分)


1. HPC 系统设计(15 分)

参赛队需提交一个理论设计的 HPC 集群,而非构建真实物理集群。需满足以下要求:

  • 系统以最优计算性能为设计目标,集群至少包含 3 个计算节点;每节点的功耗上限为 2000 W,整套集群的总功耗上限为 4000 W。
  • 明确系统的软硬件配置及互联结构,说明功耗评估、性能评估,并分析所设计架构的优缺点。

注: 下表中的硬件仅供参考,基于双路服务器(可支持最多 2 块 GPU)。
注: 实际在 ASC25 决赛中提供的硬件配置可能与此有所不同。


2. HPL 和 HPCG 基准测试(15 分)

方案中需包含对软件环境(操作系统、编译器、数学库、MPI 软件、版本等)的描述,对性能优化及测试方法的说明,性能测量结果、遇到问题及其解决方案等。若能对 HPL、HPCG 算法及源码进行深入剖析,将获得额外加分。

建议在 x86 CPU 和数据中心级 GPU 上进行 HPL 与 HPCG 的验证及优化测试。若使用其它硬件平台,也欢迎提交相应分析及测试结果,以展示良好性能。


3. AlphaFold3 推理优化(30 分)

任务简介

蛋白质结构预测是生物学中历时半个世纪的重要难题。AlphaFold 的问世显著突破了这一长期悬而未决的科学挑战,并因此在 2024 年获得了一半的诺贝尔化学奖。最新版本 AlphaFold3 拥有全新的功能,能精准预测含配体、蛋白质及核酸的复合体结构,或将变革药物开发、疾病治疗以及对生命本质的认知。

AlphaFold3 采用基于扩散模型(diffusion)的架构,输入为单条或多条生物分子序列(包括蛋白质、RNA 等),整体流程分为数据流水线与模型推理两个阶段。数据流水线主要在 CPU 上完成,用 Jackhmmer/Nhmmer 在基因库中构建蛋白或 RNA 的 MSA;模型推理则在 GPU 上进行,通过将 MSA、模板和原序列输入到 Pairformer 与扩散模块中得到最终结构预测结果。

在本次初赛中,仅涉及模型推理部分。组委会提供了 12 个单蛋白序列的示例,且已预先生成了 MSA 和模板,无需再次运行数据流水线。初赛任务目标是最小化推理时间,具体关注以下两方面:

  1. GPU 推理过程的优化,尽量缩短推理时间。(10 分)
  2. 将推理代码从 GPU 迁移到 CPU 并进行优化,尽量缩短对应 CPU 推理时间。(20 分)

例如,下图中可以看到在运行推理阶段后,“Running model inference for seed 1 took 53.76 seconds” 表明 GPU 推理耗时约 53.76 秒。

安装 AlphaFold3 后,可使用以下命令跳过数据流水线并进行推理:

cd alphafold
python run_alpha_fold.py \
--json_path=JSON文件路径 \
--model_dir=模型参数路径 \
--no_run_data_pipeline \
--output_dir=输出目录

推理完成后,会在输出目录下,根据输入文件的 name 字段生成对应的目录。以下示例展示了名为 hello_fold 的输出文件结构(只跑了 1 个 seed):


说明:

  1. AlphaFold3 源码可从此处获取:https://github.com/googledeepmind/alphafold3(本次测试使用了 3.0.0 版)。
  2. AlphaFold3 的模型参数可通过填写此表单获取:https://forms.gle/sv vp Y 4 u 2 j sHE wW YS 6。
  3. 本次任务的输入文件(含 MSA)可从 ASC 仓库获取:https://github.com/ASC-Competition。
    无需额外下载多库/多序列数据库。
结果提交

在完成优化后,请分别在 GPU 与 CPU 上运行 12 个输入案例,并将对应结果上传至官方 FTP 服务器。由于输出文件总大小超过 1GB,请打包后命名为 AlphaFold3.tar.gz 再进行上传。参考的文件结构如下:

AlphaFold3
├── GPU-optimization (用于 GPU 推理过程的脚本或代码)
├── GPU-results
│ ├── case_name_1
│ │ (推理输出的默认目录,与输入文件中的 ‘name’ 字段一致。结构与示例 hello_fold 相同,以下类似内容省略)
│ └── SUMMARY_time.out (总结优化前后所有案例的推理时间)
├── CPU-optimization (用于 CPU 推理过程的脚本或代码)
└── CPU-results
├── case_name_1
├── case_name_2
├── ……
└── case_name_12
├── case_name_1.log
├── case_name_2.log
├── ……
└── case_name_12.log
└── SUMMARY_time.out
评分规则
  • 主要根据 CPU 与 GPU 上推理性能的提升情况进行评分,也会同时参考方案中的优化策略细节与原理。
  • 需注意:
    1. 默认使用 BF16 精度,不可低于 16-bit;
    2. 不可修改 AlphaFold3 的模型参数;
    3. 不可修改 config.json 中的回收(recycling)次数与扩散(diffusion)次数等;
    4. 不可修改提供的 JSON 输入文件(包含 modelSeeds、sequences、MSA 等);
    5. 不可更改输出目录结构和文件内容,包括结构文件、置信度文件等;
    6. 推理速度与结构预测精度都很重要,若结构明显不合理会扣分;
    7. 必须提交带有推理过程时间信息(开始时间、各阶段耗时等)的日志;
    8. 方案中要详细说明推理过程、机器配置、环境搭建、优化策略以及性能对比等,这将是评分依据;
    9. 若缺少所需文件或未按要求提交,则本部分得分记为 0 分。

4. RNA m^5C 修饰位点检测与性能优化挑战(30 分)

任务简介

RNA 分子常见多种化学修饰,对基因表达调控、转录后过程以及蛋白翻译等影响重大。迄今已发现 170 多种 RNA 修饰,其中 5-甲基胞嘧啶 (m^5C) 广泛存在于不同类型的 RNA,且对基因表达及调控具有重要作用。

随着高通量测序(HTS)的发展,RNA-Bis-seq、UBS-seq 等多种方法已被用来检测 m^5C。然而,大多数检测方法依赖胞嘧啶(C) 到胸腺嘧啶(T) 的碱基转换信号,容易带来高假阳性。如何保证 m^5C 检测的准确度与可靠性并降低假阳性率,是当前 m^5C 研究的核心挑战之一。

本任务要求参赛者在给定的多种生物信息学软件基础上实现一条检测 RNA m^5C 的分析流程,并根据需要进行流程改进,以提高检测准确性和可靠性并尽可能缩短运行时间。大赛将主要考察 m^5C 的检测准确率、假阳性控制以及运行效率。

与单一工具不同,本任务整合了多组件工具链:从原始测序数据(FASTQ)出发,执行接头去除、低质量序列清理、rRNA/tRNA 过滤、基因组比对、m^5C 位点检测与严格过滤,最终输出高可信度的 m^5C 候选位点列表。

参考文献:
Dai, Q., Ye, C., Irkliyenko, I. et al. Ultrafast bisulfite sequencing detection of 5-methyl cytosine in DNA and RNA. Nat Biotechnol 42, 1559–1570 (2024). https://doi.org/10.1038/s41587-023-02034-w

参考代码:
https://github.com/y9c/m5C-UBSseq

主要分析流程见 docs 目录,Snakefile 也非常有帮助。

主要分析流程

数据集

原始输入数据下载链接:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE225614

建议使用 SRA Toolkit 下载并解压数据。


流程指导与参数

  1. 参考基因组索引构建

    • 分别为 rRNA、tRNA 及基因组构建索引,并将 C→T 转换后的序列纳入参考,使后续检测过程兼容。
    • 输入:rRNA、tRNA、基因组参考序列
    • 输出:rRNA、tRNA、基因组索引,以及对应的 FAI 和 SAF 文件
  2. 数据清理

    • 去接头(adapter),剪切低质量碱基,去除 poly(A) 尾等,生成干净的序列供下游分析。
    • 输入:原始 FASTQ 文件
    • 输出:清洗后的 FASTQ 文件,以及被过滤过短或未剪切的序列统计
  3. rRNA 比对

    • 将清洗后的 reads 对比到 rRNA 参考,过滤 rRNA 污染。
    • 输入:清洗后的 FASTQ
    • 输出:比对到 rRNA 的 reads、未比对的 reads、对齐统计、未比对的 FASTQ
  4. tRNA 比对

    • 将上一步未比对到 rRNA 的 reads 对比到 tRNA 参考,过滤 tRNA 污染。
    • 输入:rRNA 未比对 FASTQ
    • 输出:比对到 tRNA 的 reads、未比对的 reads、对齐统计、未比对的 FASTQ
  5. 基因组比对

    • 将过滤 rRNA 和 tRNA 后得到的 reads 对比到 C→T 转换后的基因组索引。
    • 输入:未比对到 rRNA/tRNA 的 FASTQ
    • 输出:对齐到基因组的 BAM、未比对的 reads、对齐统计
  6. 排序 BAM 文件

    • 对 BAM 文件进行排序,方便后续处理。
    • 输入:对齐后的 BAM
    • 输出:排序后的 BAM
  7. 合并、统计和去重

    • 合并排序后的对齐结果,统计对齐情况,并移除重复 reads,避免重复导致的假阳性。
    • 输入:排序后的 BAM
    • 输出:
      1. 合并对齐统计(TSV)
      2. 去重后的 BAM 及日志
    • 去重完成后记得给最终 BAM 建立索引(.bam.bai)。
  8. 检测与过滤位点

    • 识别可能的 C→T 转换位点,分别输出 “unfiltered” 与 “filtered” 的 unique/multi-mapped 情况。
    • 输入:去重后的 BAM
    • 输出:四个 TSV,包含 unfiltered uniq、unfiltered multi、filtered uniq、filtered multi 情况

    join_pileup:将同一样本在 unfiltered uniq、unfiltered multi、filtered uniq、filtered multi 四种情况下的碱基转换统计结果合并到一个文件中。

    • 脚本:join_pileup.py
    • 输入:上述四个 TSV
    • 输出:一个 .arrow 文件,按 ref、pos、strand 等信息合并碱基计数

    group_pileup:将同一组(多个样本)的数据合并,计算覆盖度和关键指标,生成初步的 m^5C 候选位点。

    • 脚本:group_pileup.py
    • 输入:多样本的 .arrow 文件
    • 输出:合并后的 .arrow,包含覆盖度、比率等指标
    • 相关指标:
      • u:过滤后 uniq 条件下未转换碱基计数(多样本合并)
      • d:过滤后 uniq 条件下总覆盖度(已转换 + 未转换,合并多样本)
      • ur:未转换比率,u / d
      • mr:多重比对比率
      • cr:从 unfiltered 到 filtered 时丢失的 reads 占比

    combined_select_sites:对 group_pileup 输出做初步阈值筛选,得到候选 m^5C 位点。

    • 脚本:select_sites.py
    • 输入:group_pileup 生成的 .arrow 文件
    • 输出:仅保留核心列(ref、pos、strand)的 m^5C 候选位点 .tsv
    • 默认过滤阈值:
      d >= 20
      u >= 3
      ur >= 0.02
      cr < 0.5
      mr < 0.2

    stat_sample_background:对每个样本进行背景估计与统计检验(如二项式检验),确认最终 m^5C 候选位点。

    • 脚本:filter_sites.py
    • 输入:
      1. join_pileup 的 .arrow 文件(每个样本)
      2. combined_select_sites 的 .tsv 文件
    • 输出:
      1. 每个样本的全局背景甲基化比例 bg_ratio
      2. 每个位点在该样本中的检测结果(p 值、是否通过阈值判定等)

    流程逻辑:

    1. 先计算样本背景甲基化比率 bg_ratio(去除所有候选位点后剩余位置的未转换比率平均值)。
    2. 对每个候选位点做二项式检验:若 pval < 0.001 且 (u>=2) 且 (d>=10) 且 (ur>0.02),则该位点在此样本中判定为 m^5C。
  9. 合并不同重复(生物学重复)

    • 只有在三次重复中 p 值都达到 1e-6 以下的位点才被保留为最终 m^5C 位点。

处理软件及参数建议

  1. 参考索引构建

    • 软件:hisat3n-build, samtools
    • 推荐参数:-p 12 --base-change C,T
  2. 数据清理

    • 软件:cutseq
    • 推荐参数:-t 20 -A INLINE -m 20 --trim-polyA --ensure-inline-barcode
  3. rRNA、tRNA 过滤及基因组比对

    • 软件:hisat3n, samtools
    • rRNA、tRNA 比对参数:--base-change C,T --mp 8,2 --no-spliced-alignment --directional-mapping
    • 基因组比对参数:--base-change C,T --pen-noncan-splice 20 --mp 4,1 --directional-mapping
  4. 排序与去重

    • 软件:samtools sort, java + umi_collapse.jar
    • 推荐参数(samtools):-@ 20 -m 3G --write-index
    • 推荐参数(umi collapse):bam -t 2 -T 20 --data naive --merge avgqual --two-pass
  5. 位点检测与过滤

    • 软件:samtools view, hisat3n-table, bgzip
    • 主要参数(samtools):-e "rlen<100000"
    • 主要参数(hisat3n-table):-p N, -u/-m, --alignments, --ref..., --base-change C,T
    • 主要参数(samtools view):-Q 10, -e "[XM]20 <= (qlen-sclen) && [Zf] <= 3 && 3*[Zf] <= [Zf]+[Yf]"
  6. 相关脚本


结果提交

  1. 流程描述文件

    • 记录各个中间文件的命名方式(如对齐率、QC 统计等)。
    • 若有修改任何脚本或程序,请附文档说明修改内容和原因。
    • 同时提交各步骤耗时(可使用 time 命令收集)。
  2. m^5C 位点文件

    • 输出三份过滤后 TSV(例如 SRR23538290.filtered.tsv, SRR23538291.filtered.tsv, SRR23538292.filtered.tsv)。
  3. 软件打包

    • 将整个工作流程打包成一个软件工具或容器(如用 conda 统一环境配置),方便复现和减少环境问题。
  4. 记录完整流程时间

    • cutseq 开始到整个流程结束的耗时统计,可提供截图证明。
  5. 将所需文件打包并命名为 RNA.tar.gz 后提交


评分标准

  • Precision(精准度):
    计算检测到的真实阳性(TP)占全部检测阳性(TP+FP)的比例。

    Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}
  • Correlation(相关性):
    对真阳性位点的未转换比率(ur)做 Pearson 相关系数计算。

    r=k=1n(urtrue,kurtrue)(urdetect,kurdetect)k=1n(urtrue,kurtrue)2k=1n(urdetect,kurdetect)2r = \frac{\sum_{k=1}^{n}\bigl(ur_{\mathrm{true},k}-\overline{ur_{\mathrm{true}}}\bigr)\bigl(ur_{\mathrm{detect},k}-\overline{ur_{\mathrm{detect}}}\bigr)}{\sqrt{\sum_{k=1}^{n}\bigl(ur_{\mathrm{true},k}-\overline{ur_{\mathrm{true}}}\bigr)^{2}\cdot \sum_{k=1}^{n}\bigl(ur_{\mathrm{detect},k}-\overline{ur_{\mathrm{detect}}}\bigr)^{2}}}
  • 准确度要求: Precision ≥ 95% 且 Correlation ≥ 90%。

  • 性能优化: 在满足精度要求的前提下,运行效率越高得分越高,需在方案中详细说明优化策略。


工作流程示例

  1. 构建基因组及 ncRNA 索引:

  2. 数据处理流程(阶段 1)示例(以某个样本为例):

cutseq /asc25/SRR23538290/SRR23538290.fastq -t 20 -A INLINE -m 20 --trim-polyA --ensure-inline-barcode \
-o /asc25/SRR23538290/SRR23538290.fastq_cut \
-s /asc25/SRR23538290/SRR23538290.fastq_too_short \
-u /asc25/SRR23538290/SRR23538290.fastq_untrimmed

hisat-3n/hisat-3n --index /asc25/ncrna_ref/Homo_sapiens.GRCh38.ncrna.fa \
--summary-file /asc25/SRR23538290/map2ncrna.output.summary \
--new-summary -q -U /asc25/SRR23538290/SRR23538290.fastq_cut \
-p 16 --base-change C,T --mp 8,2 --no-spliced-alignment --directional-mapping \
| /asc25/samtools-1.21/samtools view -@ 16 -e '!flag.unmap' -O BAM \
-U /asc25/SRR23538290/SRR23538290.ncrna.unmapped.bam \
-o /asc25/SRR23538290/SRR23538290.ncrna.mapped.bam

samtools-1.21/samtools fastq -@ 16 -O /asc25/SRR23538290/SRR23538290.ncrna.unmapped.bam \
> /asc25/SRR23538290/SRR23538290.mRNA.fastq

hisat-3n/hisat-3n --index /asc25/ref/Homo_sapiens.GRCh38.dna.primary_assembly.fa -p 16 \
--summary-file /asc25/SRR23538290/map2genome.output.summary \
--new-summary -q -U /asc25/SRR23538290/SRR23538290.mRNA.fastq \
--directional-mapping --base-change C,T --pen-noncan-splice 20 --mp 4,1 \
| samtools-1.21/samtools view -@ 16 -e '!flag.unmap' -O BAM \
-U /asc25/SRR23538290/SRR23538290.mRNA.genome.unmapped.bam \
-o /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.bam

samtools-1.21/samtools sort -@ 16 --write-index -O BAM \
-o /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.bam \
/asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.bam

samtools-1.21/samtools view -@ 20 -F 3980 -c \
/asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.bam \
> /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.bam.tsv

java -server -Xms8G -Xmx40G -Xss100M -Djava.io.tmpdir=/asc25/SRR23538290 \
-jar /asc25/UMI_Collapse-1.0.0/umi_collapse.jar bam -t 2 -T 16 \
--data naive --merge avgqual --two-pass \
-i /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.bam \
-o /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.dedup.bam \
> /asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.dedup.log

samtools-1.21/samtools index -@ 8 \
/asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.dedup.bam \
/asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.dedup.bam.bai

samtools-1.21/samtools view -e "rlen<100000" -h \
/asc25/SRR23538290/SRR23538290.mRNA.genome.mapped.sorted.dedup.bam \
| hisat-3n/hisat-3n-table -p 16 -u --alignments - \
--ref /asc25/ref/Homo_sapiens.GRCh38.dna.primary_assembly.fa \
--output-name /dev/stdout --base-change C,T \
| cut -f 1,2,3,5,7 \
| gzip -c > /asc25/SRR23538290/SRR23538290_unfiltered_uniq.tsv.gz

上述流程需对每个数据集均执行。

  1. 数据处理流程(阶段 2)

注意事项

  1. 不得对原始测序数据进行任何更改。
  2. 不得修改最终输出及日志文件。
  3. 在保证流程和结果正确的前提下,尽可能缩短运行时间。

如有进一步疑问,请联系 tech support@asc-events.org