小米 – 高级llvm编译器开发工程师 职位分析和面试指导

职位描述:

1. 基于Clang/LLVM框架,设计并实现面向SIMT架构的编程语言编译器;
2.开发LLVM IR到SIMT硬件指令(如GPU/NPU并行指令集)的转换与优化;
3.扩展Clang前端支持SIMT编程语言特性;
4.设计针对SIMT架构的编译器优化策略:
5.与硬件团队协同设计编译器-芯片联合优化方案;

职位要求:

1. 计算机科学、电子工程相关专业硕士及以上学历;
2. 3年以上编译器开发经验,有GPU/NPU编译器开发经验者优先;
4. 有SIMT编程语言(CUDA/HIP/OpenCL)编译器或运行时开发经验;
5. 精通LLVM编译器框架,具有实际参与Clang/LLVM后端开发或重要Pass开发经验;
6. 深入理解SIMT执行模型(线程层次结构、Warp调度、内存层级);
7. 熟悉编译原理关键技术:数据流分析、指令选择、寄存器分配、循环优化;
8. 掌握现代C++(C++17/20)、Python,具备大规模代码工程化开发能力;

招聘部门:

小米

工作地点:

北京市 ID:A128153

面试建议:

这个高级LLVM编译器开发工程师职位聚焦于SIMT架构的编译器开发,这是当前异构计算领域的前沿方向。小米显然在布局自己的GPU/NPU编译器技术栈,需要能深度优化LLVM框架的人才。面试官会特别关注你在LLVM后端开发、SIMT架构优化方面的实际经验,而不仅仅是理论知识。 建议重点准备三个方面的内容:一是详细描述你参与过的LLVM Pass开发或后端优化项目,特别是与SIMT架构相关的;二是准备好解释你对Warp调度、内存层级等关键概念的理解;三是展示你解决复杂编译器问题的思路,比如如何优化数据并行代码。记得带上你的代码样例或优化前后的性能对比数据,这会大大增加说服力。同时要表现出对硬件架构的理解能力,因为这是一个需要与芯片团队紧密协作的职位。

在线咨询


请输入您的问题:

提示:由 AI 生成回答,可能存在错误,请注意甄别。