职位描述
岗位定位:
在编译架构师的指导下,参与IR/Dialect/Codegen等核心模块的开发,并独立负责明确的Lowering(降级)与Pass(优化遍)模块的实现及正确性验证。
工作职责:
1. 中间表示(IR)及图/算子优化
- 参与计算图及算子IR定义的阅读与扩展。
- 在既定范围内,实现算子融合、布局(Layout)优化、分块(Tiling)及缓冲化(Bufferization)等优化Pass的核心逻辑,以提升算子在硬件上的执行效率。
2. DSA方言(Dialect)定义与降级(Lowering)
- 参与自定义Dialect(涵盖张量引擎原语、片上SRAM管理、DMA传输及同步机制)的模式重写(Pattern Rewrite),并负责编写配套的测试用例及技术文档。
- 打通从“高层IR”到“DSA Dialect”再到“仿真”的最小可行路径,确保编译流程能在模拟器上顺利运行。
3. 代码生成与仿真对接
- 协助进行LLVM后端的局部实验(涉及指令选择、调度及寄存器分配)。
- 将编译产物交付至指令集仿真器(ISS),完成加载、执行及黄金数据(Golden)比对。能够精准定位并修正中间表示转储(IR Dump)过程中出现的偏差。
4. 工程质量保障
- 熟练使用Lit/FileCheck等工具编写回归测试用例,维护持续集成(CI)流水线,确保所负责的代码改动具备高可复现性且易于回溯。任职要求
任职要求:
1. 学历背景:统招全日制本科及以上学历,计算机、电子、自动化、软件工程、微电子等相关专业,211、985等重点学校优先。
2. 专业技能:
-精通C/C++或Python;
-深入理解编译原理(包括IR、优化技术、寄存器分配等);
-熟悉LLVM或MLIR框架,有编译器相关项目或实习经验者优先。
3. 工程素养:具备良好的工程实践习惯,能熟练使用Git进行版本管理;具备单元测试意识,能将规格需求转化为可运行、可验证的高质量代码。
4. 英文文献阅读能力:能够流畅阅读英文技术文档,包括但不限于PyTorch、XLA、LLVM/MLIR、Linux Kernel源码、相关学术论文及硬件规格手册。
5. 学习热情与交付能力:
- 对AI训练/推理框架、芯片设计、异构计算、编译器或系统软件等一个或多个领域保持持续的学习兴趣;
- 具备较强的落地交付能力,能在导师指导下,将任务推进至可合入主分支、可验证交付的完成状态。
6. AI辅助开发意识:能够合理利用大语言模型(LLM)或智能体(Agent)工具提升开发效率与交付质量,并具备对生成内容进行独立审查、调试与验证的能力。
加分项:
1. 有向LLVM/MLIR/TVM/IREE等开源社区贡献代码的经历(提交过Pull Request),或完整学习过MLIR Toy Tutorial/LLVM Kaleidoscope教程。
2. 具备Lit/FileCheck测试框架的实际使用经验,具备ISS/GPU/NPU后端开发、CUDA代码生成(Codegen),或RTL仿真联调等相关小型项目经验。
3. 了解ONNX Runtime、TensorRT或vLLM的图优化策略及后端适配原理。