1.具备手写CUDA Kernel的能力,对CUDA编程原理有着清楚的了解,
比如block/grid/thread/stream/warp divergence//bank conflict,对GPU访存开销有着清晰的认识和了解;熟悉CUDA工具链,比如nvprof,TensorRT,cuDNN,cuBlas等。
2.了解编译优化原理,能够为主流DL框架添加新硬件设备的可执行代码。
对基于计算流图的优化原理有一定了解和认识。
3.了解XLA HLO,NNVM,ngraph等DL Intermediate Representation表示,具备跨多
个DL框架对比工作的能力。
4.对常用DL模型有深入的理解和认识,比如CNN/FCN/RNN/Attention等。
能够结合具体模型特点,propose特定的性能优化方案,可以结合具体业务
场景对模型进行调整以更好地适配底层计算硬件的特点。
5.熟悉常见DL分布式加速策略及技术,比如计算与通信overlap,环状通信,异步SGD等,愿意跨越系统边界,结合模型角度来思考DL优化策略。
6.熟悉常用DL 模型压缩技术,比如量化,稀疏化,卷积核拆分等,知道如何结合模型剪枝策略与系统底层优化技术来获得Inference加速效果,而非仅执一端。