职位描述
岗位定位:
在资深同事指导下,参与自研AI芯片的Runtime(运行时)、OS/BSP(操作系统/板级支持包)及KMD/UMD(内核态/用户态驱动)核心模块开发。您将直面真实硬件,解决异构计算(CPU+NPU)中的低延迟、高并发等挑战,为芯片构建坚实、高效的软件地基。
工作内容:
(入职后将根据您的专业背景与个人意向,侧重以下方向之一)
1. Runtime方向:负责执行调度、内存管理、编译产物加载等关键模块。您将实现或测试内存分配器、执行队列与资源释放机制,对接可执行文件的加载、校验与执行入口,并在仿真环境中精准记录与分析调度延迟,支撑系统的确定性低延迟特性。
2. OS/BSP方向:深入Linux底层,进行设备树、内核配置与实时性优化。您将修改设备树与内核config,完成系统启动验证;协助复现与解决PREEMPT_RT(实时抢占)、Cache与DMA一致性等OS层疑难问题,保障CPU与NPU的协同高效运作。
3. 驱动方向:直面硬件寄存器,打通Host与Device的数据通路。您将依据寄存器手册实现读写封装、DMA(直接内存访问)提交与中断处理逻辑,并通过编写配套单元测试或在QEMU/FPGA环境进行验证,确保底层驱动的稳定可靠。
4. 工程化与效能:为上述所有模块构建CI(持续集成)流水线,编写长稳运行脚本与详尽的复现文档,用工程化手段保障代码质量与系统稳定性。任职要求
岗位要求:
1. 教育背景:统招全日制本科及以上学历,计算机、电子、自动化、软件工程、微电子等相关专业,211、985等重点学校优先。
2. 专业技能:
-精通C/C++/Python,深入理解操作系统、计算机组成原理等核心课程知识;
-理解进程、中断、内存映射、设备驱动等基本概念;
-Runtime方向:了解用户态并发编程与资源生命周期管理;
-BSP/驱动方向:了解内核模块开发、MMIO、DMA、ioctl等基本机制,能阅读硬件/ABI文档,并按规格编写代码。
3. 工程素养:具备良好的工程实践习惯,能熟练使用Git进行版本管理;具备单元测试意识,能将规格需求转化为可运行、可验证的高质量代码。
4. 英文文献阅读能力:能够流畅阅读英文技术文档,包括但不限于PyTorch、XLA、LLVM/MLIR、Linux Kernel源码、相关学术论文及硬件规格手册。
5. 学习热情与交付能力:
- 对AI训练/推理框架、芯片设计、异构计算、编译器或系统软件等一个或多个领域保持持续的学习兴趣;
- 具备较强的落地交付能力,能在导师指导下,将任务推进至可合入主分支、可验证交付的完成状态。
6. AI辅助开发意识:能够合理利用大语言模型(LLM)或智能体(Agent)工具提升开发效率与交付质量,并具备对生成内容进行独立审查、调试与验证的能力。
加分项
- 开源贡献:阅读或修改过ONNX Runtime、TVM Runtime、IREE等开源运行时项目的局部代码。
- 驱动经验:有过平台设备或PCIe驱动开发经验;或使用过Yocto、Buildroot构建嵌入式系统,接触过PREEMPT_RT实时内核补丁。
- 硬件实战:有开发板Bring-up(从零启动)、FPGA(现场可编程门阵列)联调或内核调试(如ftrace、kgdb)经验。