为深度学习设计新的定制硬件加速器显然很受欢迎,但是用一种新的设计实现最先进的性能和效率是一个复杂和具有挑战性的问题。
两年前,英伟达公司为英伟达深度学习加速器(NVDLA)的硬件设计打开了源代码,以帮助推动在定制硬件设计中采用高效的人工智能推理。同样的NVDLA也发布在NVIDIA Jetson AGX Xavier开发工具包中,它为AI提供了7.9 TOPS/W的最佳峰值效率。随着NVDLA在GitHub上的优化编译器的开源发布,系统架构师和软件团队现在已经拥有了世界上第一个完全开放的软硬件推理平台的完整源代码。
在本文中,我们将解释网络图形编译器在实现专用硬件加速器的电源效率这一关键目标中所扮演的角色,并向您展示如何通过在云中构建和运行您自己的自定义NVDLA软件和硬件设计开始。
NVDLA框图
NVDLA编译器的性能和效率
编译器是NVDLA软件栈的关键组件。它生成优化的执行图,将预先训练的神经网络模型层中定义的任务映射到NVDLA中的各个执行单元。它在最大限度地利用计算硬件的同时,尽可能地减少数据移动。
NVDLA核心硬件有六个专门的硬件单元,它们可以同时调度,也可以在流水线配置中调度。它还具有小型和大型硬件配置文件。大的配置文件包括先进的功能,如芯片上的SRAM接口和附加一个微控制器的能力。你可以在这里找到更多关于NVDLA的资料。硬件架构是模块化的,它的设计是可伸缩的,从小型嵌入式物联网设计到使用NVDLA单元阵列的大型数据中心类芯片。编译器可以根据各种选择的因素进行调优:NVDLA硬件配置、系统的CPU和内存控制器配置,以及应用程序的自定义神经网络用例(如果需要的话)。