一、编程模型和硬件架构
由于AI应用对巨大算力的极致追求,各种针对AI计算场景的AI芯片架构层出不穷。AI软件栈的复杂性就来自于硬件架构的跨越式发展。而面对这样的复杂度,AI软件编程模型的设计和架构就变得至关重要。
编程模型就是对编程共性的抽象,或许可以从两个层面理解:
- 架构上,是对底层硬件架构和对软件的组织、复用、交互方式的抽象
- 工程上,可以是一个或几个软件中间层所提供的上层应用开发接口。是基于硬件的岩石之上,让上层软件生态得以发展的土壤层
本文基于对Nvidia CUDA和Graphcore Poplar编程模型的调研,希望能谈谈个人对AI芯片的编程模型的一些看法。