Skip to content

My Road Map

未来一段时间的规划

map

                    算法(不关心)
---------------------------------------------上层
                   神经网络   (核心领域)

                    Lenet
                    Resnet
                    Bert
                    LSTM
---------------------------------------------下层
                    关注点

            关注网络结构,不关注公式原理
            关注网络的OP组成
            关注网络的执行流程
---------------------------------------------基础

     语言               驱动               框架
-------------     ---------------    --------------
    C/C++              PCIE            TensorFlow
    Python            Cache               TVM
                    DMA                GCC

2020年11月的现状与规划

事与愿违,有时候路不完全是自己选择的,现在我的主要工作是开发SOC模拟器。我也有了新的方向规划

在开发SOC模拟器的过程中,我觉得可以学习很多CPU微架构方面的知识。这是很宝贵的,这让我在对代码执行的理解上有了更深的层次。 我想目前需要做的应该有如下几点

  • 熟悉掌握现代主流CPU微架构
  • 结合微架构,加深对代码的理解
  • 熟悉了解编译器的原理
  • 增加对linux内核重点模块的学习
  • 分析freeRTOS的原理与实现

必须清楚的认识到,学习微架构是为了更好的开发软件,而编译器是软件与最终执行程序的纽带,这中间有很多处理,有必要了解。 回到根本,必须将linux内核作为一个立足点。

总结一下,需要抓住CPU微架构,linux内核,设备驱动这三个立足点,在c++,python,编译器,神经网络等细节领域保持开垦,逐渐形成较为宽阔的知识面,同时选择一个核心竞争力。

2020.11.26 增加一个目标

从内核接口出发,结合汇编指令和工具链,分析CPU实现。完成从系统到指令到CPU硬件的贯穿,比如内存屏障,自旋锁,原子操作等,都可以贯穿整个流程来分析。

2021.2 技术方向的思考

神经网络应用

目前各大互联网公都有这方面的需求,主要关注神经网络的应用, 需要熟练的掌握各种神经网络,以及tensorflow等深度学习框架,可能会涉及到 网络优化,行业内容日新月异,需要时刻拥抱变化。

这个领域最大的吸引力在于能够与实际问题紧密结合,由于政策引导,目前各大 传统业务都有转向AI处理的需求,比较容易产生合作机会。

技术方面,目前技术积累不多,网络优化是难点,自身水平不太容易达到能够优化 网络的程度。进入这个领域后,基本会抛弃掉之前积累的底层技术,完全转换到应用端, 好在近几年积累了Python和C++基础。很有可能会出现能力不足影响进阶的问题。

这个方向,好的机会可遇而不可求,因为在这个领域目前没有太多积累,没有任何技术和 经验优势,需要机遇也面临挑战。

技术需求:

  • 各种神经网络
  • TVM等编译器框架
  • tensorflow、pytorch等神经网络框架
  • 传统编译器理论

RISCV指令集与微架构方向

目前芯片行业也是热门行业,长期看好,目前政策支持,riscv的热度估计会持续。做 riscv相关的芯片公司也越来越多,机会越来越多。行业内容本身相对稳定,可以持续。

这个领域的吸引力在于报酬不低并且技术能够得到延续。 从微架构和指令集到uboot,linux都可以围绕这riscv来操作,之前积累的技术能够持续发挥作用。 经验优势能够得到发挥,年老体衰仍然能够有一席之地。

技术方面,能够充分发挥自身逻辑清晰的技术特点,而且基本不会出现能力不足的问题, 当然,技术广度需要扩展,深度需要提高,但终归不会因为潜力不足而影响进阶。

这个方向,自身有一定的经验优势和技术积累,需要较好的机会,同时需要警惕技术广度变窄。

技术需求:

  • RISCV架构
  • 微架构
  • 硬件描述语言

驱动与内核方向

传统方向,行业通吃,万金油的技术方向也意味着不管去哪个行业,都属于边缘部门。 行业需求稳定,可以蹭新型热门行业红利。

这个领域最大的吸引力在于舒适,挑战性相对较小,经验优势能够得到充分发挥。

技术方面,仍然需要拓展和进阶,但不会出现因能力不足影响进阶的情况。但这不是一个好 选择,不到万不得已不会考虑回归这个方向。

技术需求:

  • 重点模块驱动
  • linux内核重点机制

芯片领域模拟器方向

这是一个很小的领域,涉及到芯片微架构和指令集架构,同时又需要硬件基础,预估行业报酬不低, 但需要有IC设计方面的技术积累。小众但能掌握芯片核心,需求量较小。

这个领域最大的吸引力在于与现在的工作完全接合,可以凭借经验优势索要较高报酬。

技术层面,需要学习目前主流模拟器语言,比如shisel,systemc。而且需要补充IC相关知识

这个方向很小众,而且很难与应用挂钩,后续发展空间可能比较局限

技术需求:

  • 主流模拟器语言
  • IC相关理论

2021年9月技术方向的思考

以架构设计和分析为目标,以模拟器为基本能力,以RTL coding为附加能力,成为熟练掌握整个CPU软硬件系统的全能选手

能力罗列:

  • 掌握主流CPU架构和微架构相关知识
  • 掌握IC产业相关知识
  • 掌握乱序多发射CPU的各个要素
  • 掌握以gem5为核心的模拟器开发能力
  • 掌握以RISCV指令集架构为核心,以ARM微架构为参考架构的基础知识
  • 掌握关键的操作系统与CPU的联系,比如内存管理,进程调度,多核通信,中断控制等重点模块
  • 掌握RTL开发基础,掌握基本的Verilog,chisel编写调试能力