该职位来源于猎聘 岗位职责: 1. 负责Linux系统下NPU设备驱动的构架设计、开发和维护,实现高性能、低延迟的命令提交、任务调度和内存管理机制; 2. 基于CUDA Driver、NVIDIA开源驱动项目、自定义字符设备架构,构建稳定可靠的驱动模块; 3. 与硬件团队紧密合作,进行NPU硬件的启动、Bringup、验证和深度调试; 4.与上层软件团队(AI框架、运行时、算子库、算子库开发部门)协作,定义和实现用户态内核态交互接口,共同优化端到端AI应用性能; 5. 分析和优化驱动程序的性能瓶颈,包括DMA传输、中断处理、电源管理等; 6. 编写健壮、可维护的代码,并配套完整的单元测试和内核文档,确保符合内核开发开发标准和规范,解决客户和测试团队报告的关键、复杂的技术问题。 任职要求: 1. 计算机科学、电子工程/通信工程/控制工程等相关专业本科及以上学历,5年以上Linux内核驱动开发经验,有AI加速器(NPU/GPU/TPU)、PCIe计算卡、DSP或相关异构计算芯片驱动开发经验优先; 2. 精通C语音和GNU工具链,具备Linux内核环境下开发、调试的经验; 3. 深刻理解Linux内核子系统,如内存管理、进程调度、中断、DMA、IOMMU、电源管理等; 4. 拥有以下至少一种内核框架的实际开发经验:DRM,V4L2,自定义字符设备驱动及ioctl接口设计; 5. 具备扎实的计算机体系结构知识,熟悉CPU、cache、总线(如AXI/ACE)的工作原理; 6. 有通过JTAG、逻辑分析仪等工具进行硬件级别调试的经验。
加分项: 1. 熟悉NPU常见的计算单元,如Tensor Core,SIMD架构; 2. 了解机器学习框架(如PyTorch,TensorFlow)的基本工作原理; 3. 有CUDA、OpenCL、Vulkan等异构计算标准运行时开发经验。
对这个职位感兴趣吗?