其他
导读地平线在智东西公开课开设「地平线AI芯片技术专场」。第二期课程中,地平线高级研发总监凌坤就《好的自动驾驶AI芯片更是“好用”的芯片》这一主题进行了直播讲解。凌坤老师从软件2.0的开发范式讲起,结合地平线自动驾驶AI芯片的开发实践,从软硬结合+软硬解耦的平衡、AI芯片开发原则、软件2.0开发范式的基础设施艾迪AI开发平台、天工开物工具链、丰富的软件栈等方面深入讲解如何打造一颗“好用”的自动驾驶AI芯片。首先欢迎大家来到本次课程,也感谢智东西公开课提供的平台,让我们有机会做相关的交流。上次课程中地平线罗恒博士重点讲解了一个好的自动驾驶芯片应该是什么样子,今天则是关于怎么样把自动驾驶芯片做成一个好用的芯片。我叫凌坤,地平高级研发总监,毕业于中国科学院计算技术研究所,十余年专注于CPU/DSP/DSA上的编译器&指令架构联合优化和实现;2016年加入地平线,负责地平线天工开物工具链和艾迪AI开发平台相关研发团队的管理;曾任地平线编译器研发部负责人,先后参与多代地平线征程处理器的指令集架构定义、编译器和工具链研发、产品化、市场推广及量产落地相关工作。本次课程主要分为以下3个部分:1、关注软硬结合前提下的软硬解耦2、好用的关键:提升产品研发效率3、用软件2.0基础设施、工具链、开放软件栈和丰富样例成就开发者过去很多年里,我们一直在做传统意义上的算法和软件研发。在这套体系下,程序员首先要理解清楚问题是什么?怎么解?在此基础上写好代码,并让代码运行起来,看是否正确。而随着芯片性能越来越高,存储数据、模型容量越来越大,机器学习方法帮助我们解决了许多实际的问题,因此进入到软件2.0时代。伴随着未来摩尔定律的持续演进,基于软件2.0的研发工作会越来越多,我们要准备好迎接软件2.0的开发时代。回看软件2.0的开发范式,它与软件1.0完全不同。在软件1.0中,当我们要解决一个问题时,首先需要开发者把问题定义的十分清楚;然后把问题分解成具体步骤,并把每一步的解决方法也想的非常明白;再写出代码,代码做好测试后集成起来,看能否解决实际问题。如果不能解决,反过来再看,是问题没有定义清楚?问题没有分解清楚?问题的解决方法不正确?还是程序员代码没写好?反复检查、调试、验证,以上就是软件1.0开发的闭环迭代过程。例如当控制一辆车往前走时,如果路上没有超过限速,前方没有障碍物,那接下来车辆可以加速,加速到多少时不能再加速,这是一个典型的