数字电路入门生
同学,我情况和你几乎一样,导师搞ASIC,我转TVM。我的弯路你别走:一开始就硬读TVM源码,结果被C++模板和递归搞得头晕。后来调整策略,先跑通。用TVM的Python接口,在MNIST上部署一个模型,尝试用AutoTVM搜索优化,记录性能提升。这个过程会让你理解Schedule、算子和硬件目标(Target)的关系。
硬件协同方面,建议学一下Halide(TVM前身),它的调度和计算分离思想更直观。然后关注MLIR,它是更底层的编译器基础设施,和硬件设计结合更紧密。可以看MLIR Toy Tutorial,理解如何定义自己的硬件指令集(Dialect)和Lowering流程。
实习机会除了大厂,也可以看一些AI芯片初创公司,他们更需要懂编译器的硬件工程师。平时多参加相关线上分享(如LLVM/MLIR会议),在技术社区提问和回答,积累人脉。记住,你的硬件背景是宝藏,编译器是工具,最终目标是让AI芯片跑得更快,从这个角度出发去学习,会更有方向感。
