一个完整的解决方案,才能让一个新的DSA能够得到比较好的应用

  03Al DSA软件栈面临的挑战
  1. 设计新的架构需要软硬件的全栈支持
  面向一个领域的DSA往往是设计一个新的架构,而一个新的架构并不是单纯的硬件设计,而是需要的软硬件的全栈支持。一个新的硬件架构,它可能有需要有新的指令集或者编程模型,需要有相应的软件工具,甚至可能需要有一个软硬件协同设计和验证的方法学。这些必须是一个完整的解决方案,才能让一个新的DSA能够得到比较好的应用。
  这也是华为在Hotchip上分享达芬奇设计的时候,介绍的DSA开发者软件栈。可以看到在这个软件栈里面,会有不同的层次的开发者参与,也需要提供不同层次的完整的软件工具,包括库,编程语言,编译器等等。
  2. 软硬件技术栈的碎片化
  前面我们介绍了很多新的AI DSA架构,有一个比较大的挑战或者问题是相应的软件栈。不同的硬件架构,以及同一类架构不同细节差异。加上不同厂商的方案差异,都导致硬件和软件栈的碎片化现状和很多现实的问题。不同的厂商会有不同的架构的选择,或者是同一类的架构,也有不同的细节设计。不同厂商提供相应的软件栈,也都会有一些自己不同的实现方法。所以我们就看到各种各样的软硬件的组合,和大量的重复劳动,比如说硬件可能要适配很多不同的框架或者应用;而对于对于上层软件来说要适配不同的硬件。
  当然现在也看到很多工作就是在解决,或者试图解决这个问题,特别是在框架和编译器层面,这也是后面大家会重点讨论的话题。一种解决的思路就是希望能在某一个层次上找到一个比较合理的抽象,大家能统一到一个一致的IR或者接口,至少可能在某一个层次上的先解决碎片化的问题。然后尽量把不同的硬件架构或者不同厂商的需要实现的部分变得比较薄一些。这样可能整体上提升AI DSA开发的效率,促进整个AI DSA生态的发展。

你可能感兴趣的:(硬件架构)