理想汽车【25届校招】NPU Firmware工程师
校招全职芯片研发地点:上海状态:招聘
任职要求
1. 计算机、软件相关专业,硕士及以上学历; 2. 熟悉ARM/RISC-V体系架构,有SIMD/RVV向量指令性能优化经验; 3. 熟悉Makefile/CMake构建技术,熟悉Python/C/C++编程语言; 4. 熟悉Linux操作系统,对kernel内存管理/进程管理/任务调度等核心机制比较了解,熟悉ThreadX/FreeRTOS等开源项目更优; 5. 掌握CNN/Transformer/LLM等相关算法基础知识; 6. 有AI算法在嵌入式系统部署经验更优。
工作职责
1. NPU Firmware/运行时库开发与交付; 2. NPU Firmware指令集设计与开发; 3. 参与硅前验证case开发,支持各种仿真平台算子与整网联调; 4. 参与硅后NPU Bringup; 5. 支持大模型在NPU芯片上量产部署。
包括英文材料
学历+
RISC-V+
[英文] Learn RISC-V
https://github.com/riscv/learn
A community-driven compilation of RISC-V resources and learning material.
https://riscv-programming.org/
This website contains a set of resources to support learning/teaching assembly programming using the RISC-V ISA.
https://www.youtube.com/watch?v=bEUMLh2lasE
This is the first in a series of tutorials which will teach you how to get started with RiscV (Risc 5) programming
[英文] 📺You Can Learn RISC-V Assembly in 10 Minutes | Getting Started RISC-V Assembly on Linux Tutorial
https://www.youtube.com/watch?v=GWiAQs4-UQ0
In this video, we talk about the RISC-V processor architecture.
CMake+
https://cmake.org/getting-started/
We want to give you the resources you need to confidently leverage CMake as your build system of choice.
https://learnxinyminutes.com/zh-cn/cmake/
CMake 是一个跨平台且开源的自动化构建系统工具。通过该工具你可以对你的源代码进行测试、编译或创建安装包。
https://www.youtube.com/watch?v=7YcbaupsY8I
CMake introduction for absolute beginners.
Python+
https://liaoxuefeng.com/books/python/introduction/index.html
中文,免费,零起点,完整示例,基于最新的Python 3版本。
https://www.learnpython.org/
a free interactive Python tutorial for people who want to learn Python, fast.
https://www.youtube.com/watch?v=K5KVEU3aaeQ
Master Python from scratch 🚀 No fluff—just clear, practical coding skills to kickstart your journey!
https://www.youtube.com/watch?v=rfscVS0vtbw
This course will give you a full introduction into all of the core concepts in python.
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
内核+
https://www.youtube.com/watch?v=C43VxGZ_ugU
I rummage around the Linux kernel source and try to understand what makes computers do what they do.
https://www.youtube.com/watch?v=HNIg3TXfdX8&list=PLrGN1Qi7t67V-9uXzj4VSQCffntfvn42v
Learn how to develop your very own kernel from scratch in this programming series!
https://www.youtube.com/watch?v=JDfo2Lc7iLU
Denshi goes over a simple explanation of what computer kernels are and how they work, alonside what makes the Linux kernel any special.
FreeRTOS+
https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/00-Overview
Our beginner's guides are here to help you get up to speed quickly and easily with FreeRTOS.
CNN+
https://learnopencv.com/understanding-convolutional-neural-networks-cnn/
Convolutional Neural Network (CNN) forms the basis of computer vision and image processing.
[英文] CNN Explainer
https://poloclub.github.io/cnn-explainer/
Learn Convolutional Neural Network (CNN) in your browser!
https://www.deeplearningbook.org/contents/convnets.html
Convolutional networks(LeCun, 1989), also known as convolutional neuralnetworks, or CNNs, are a specialized kind of neural network for processing data.
https://www.youtube.com/watch?v=2xqkSUhmmXU
MIT Introduction to Deep Learning 6.S191: Lecture 3 Convolutional Neural Networks for Computer Vision
Transformer+
https://huggingface.co/learn/llm-course/en/chapter1/4
Breaking down how Large Language Models work, visualizing how data flows through.
https://poloclub.github.io/transformer-explainer/
An interactive visualization tool showing you how transformer models work in large language models (LLM) like GPT.
https://www.youtube.com/watch?v=wjZofJX0v4M
Breaking down how Large Language Models work, visualizing how data flows through.
大模型+
https://www.youtube.com/watch?v=xZDB1naRUlk
You will build projects with LLMs that will enable you to create dynamic interfaces, interact with vast amounts of text data, and even empower LLMs with the capability to browse the internet for research papers.
https://www.youtube.com/watch?v=zjkBMFhNj_g
算法+
https://roadmap.sh/datastructures-and-algorithms
Step by step guide to learn Data Structures and Algorithms in 2025
https://www.hellointerview.com/learn/code
A visual guide to the most important patterns and approaches for the coding interview.
https://www.w3schools.com/dsa/
相关职位
校招算法与软件
职位描述 1. 搭建高效的AI系统,为算法迭代和部署提供模型优化、量化、部署的高效算法工具链; 2. 使用模型优化技术,包括模型低精度量化、模型压缩/裁剪,熟悉大模型的量化、长上下文推理优化等,开发模型优化的工具链,对模型进行优化加速; 3. 参与软硬件协同优化设计。与硬件工程师协作,参与硬件设计和优化,提供模型在私有硬件平台的执行效率。
校招
1. 研发基于强化学习的人形机器人全身运动控制算法; 2. 搭建强化学习运动控制算法完整训练流程并优化性能; 3. 分析评估算法性能,迭代优化控制策略; 4. 与团队协作,推动强化学习算法部署调试测试; 5. 跟进人形机器人全身运动控制算法,为团队引入新思路,保持技术领先性。
更新于 2025-04-28