英特尔FPGA深度学习加速(DLA)套件
英特尔FPGA深度学习加速(DLA)套件
英特尔FPGA的DLA加速套件,如图11-17所示。

图11-17 英特尔FPGA的DLA加速套件
深度学习部署工具包(DLDT)中的推理引擎,提供了一个高级的设备无关API来编程推理。这是一些示例代码,如图11-18所示。

图11-18 深度学习部署工具包(DLDT)中的推理引擎示例代码
推理引擎加载用户提供的IR并调用相应的插件来处理特定设备的推理,如图11-19所示。

图11-19 推理引擎加载用户提供的IR并调用相应的插件来处理特定设备的推理
对于FPGA,它调用了DLA(深度学习加速)运行时引擎,如图11-20所示。

图11-20 FPGA调用了DLA(深度学习加速)运行时引擎
如图11-21,驱动加速器中DL模型的执行。

图11-21 驱动加速器中DL模型的执行
部署DNN模型是一个软件过程。FPGA已经预先编程了一个为DLA运行DL模型而设计的比特流。不需要FPGA编译。如图11-22所示。

图11-22 FPGA已经预先编程了一个为DLA运行DL模型而设计的比特流
这里是DLA 运行时用于运行DL模型的DLA架构。该架构包含卷积PE(处理元素)阵列、用于存储特征图和 DL 中常用的层(组件)的缓存,如图11-23所示。

图11-23 DLA 运行时用于运行DL模型的DLA架构
将DNN模型映射到这个加速引擎架构中。许多DL模型,如AlexNet,包含高度相似的层序列组,例如卷积层后跟ReLU、归一化和最大池化。如图11-24所示。

图11-24 将DNN模型映射到这个加速引擎架构中
在FPGA内部DL层是由配置的互连链接的块实现的,如图11-25所示。

图11-25 在FPGA内部DL层是由配置的互连链接的块实现的
要运行一组层,创建一个数据流并通过负责特定类型DL层的块传递它。要执行整个模型,重复流式循环以处理下一组,直到所有DNN层都被处理。如图11-26所示。

图11-26 创建一个数据流并通过负责特定类型DL层的块传递
这些块在运行时高度可重构且可绕过。这使得深度学习层(DL)的不同设计参数(如CNN步幅)或跳过不需要的层成为可能。如图11-27所示。

图11-27 在运行时高度可重构且可绕过
首先,视频数据从DDR(双数据率)通道到达,如图11-28所示。

图11-28 视频数据从DDR(双数据率)通道到达
如果视频数据太大而无法存储在芯片上的流缓存中,则将其切片并在多个流水线迭代中逐个传递。在每个迭代中,数据从缓存中提取并通过卷积PE阵列(PE-处理元素)和激活块进行处理。然后通过交叉开关(XBAR)传递给其他块,例如标准化和最大池化。然后将数据反馈到流缓存中,以供下一组层使用。一旦整个模型处理完毕,就会将其写回内存并继续处理下一片数据。以图11-28表总结了深度学习加速器(DAL)引擎用于执行DL模型的图循环架构。
人工智能芯片与自动驾驶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-09-08 CUDA算力计算编程实例
2022-09-08 芯片行业的那些事
2021-09-08 图融合GCN(Graph Convolutional Networks)