纪念一下第一次专题讲座(毕升杯)+题目理解
的有关信息介绍如下:
纪念第一次参与2025毕升杯专题讲座的核心收获是对挑战赛赛制演变、CodeSize优化技术路径及AI辅助优化可行性的系统性理解,为后续参赛提供了技术储备与方向指引。
2023年为4支队伍角逐代码体积优化单一赛道;
2024年扩展至6支队伍,覆盖3个代码体积赛道、2个混合精度赛道及1个并行优化赛道,赛道细分反映技术多元化需求。
往年依赖客观分数排名,如2024年国科大团队因分数劣势未进决赛;
2025年决赛晋级规则调整,主观评分占比达70%(PPT、文档、汇报能力),技术实力与表达能力的综合考量成为关键。
题目要求的核心优化环节:
汇编器/链接器优化:需在.s(汇编源文件)和.o(目标文件)层级进行指令重排、符号解析优化;
后链接器优化(附加):针对ELF文件格式(Section/Segment划分、textsz/filesz/offset管理)及链接器行为(Relocation/Relaxation)进行深度调整;
AI驱动辅助:需探索在无源码或中间表示(IR)的情况下,通过已有信息(如寄存器分配模式、全局指针使用)实现代码体积缩减。
AI辅助优化的挑战与潜在方向:
性能优化 vs 体积优化:AI在性能预测(如分支预测、缓存命中率)中应用成熟,但代码体积优化需更精细的指令级决策,数据稀缺性导致模型训练难度高;
有限信息下的介入空间:
指令重排:参考LLVM BOLT的RegReAssign技术,通过AI分析寄存器使用模式,优化指令顺序以减少冗余操作;
知识建模:构建针对RISC-V架构的优化规则库(如ABI调用约定、ISA特性),AI可辅助生成优化策略,但需明确目标(如最小化textsz或filesz)。
未来赛题改进建议:允许源码或IR级别优化,可完整覆盖LLVM后端(如Pass组合优化),更贴近工业界实践,但初学者需掌握RISC-V ABI、ISA、链接器原理(Relocation/Relaxation)及ELF文件结构等前置知识。
核心知识领域:
RISC-V架构:ABI调用约定、ISA指令集、寄存器使用规范;
链接器机制:Relocation(符号重定位)与Relaxation(松散约束优化)的原理及实现;
ELF文件格式:Section(代码段/数据段)与Segment(加载视图)的划分逻辑,textsz(代码大小)、filesz(文件大小)、offset(偏移量)的关联关系;
后链接优化技术:以BOLT(Binary Optimization and Layout Tool)为例,需研读CGO会议论文,理解基于性能分析的代码布局优化方法。
初学者落地建议:
分阶段学习:优先掌握RISC-V汇编、ELF基础及简单链接器行为,再逐步深入后链接优化;
工具链实践:通过LLVM/Clang编译流程理解.s到.o再到可执行文件的转换过程,结合objdump、readelf等工具分析文件结构;
案例复现:以BOLT为标杆,尝试在简单程序上实现指令重排或符号解析优化,验证体积缩减效果。



