FPGA 算力芯片杂谈
PGA是基于可配置逻辑块(CLB)矩阵通过可编程互连连接的半导体器件。CLB是高度可配置的,可以创建不同的逻辑。通过可编程互连,我们可以为这些CLB创建复杂的数据路径。
可以配置LUT来模仿任何逻辑函数。
在CLB内部,LUT通常后面跟着带有输出寄存器的加法器(输出存储其先前值,直到应用新时钟)。
为了进一步增强功能,可以将其他块(如存储器块、乘法器、嵌入式处理器和DSP块)添加到FPGA中。这些块可以通过下面的垂直和水平线进行分段和连接。
演示块如何连接的例子:
带有Arria 10 FPGA的英特尔视觉加速器可以连接到视频服务器或NVR(网络视频录像机),支持超过20个通道的视频输入,用于分析、处理或其他AI应用,包括面部识别和检测。
例如,我们可以使用加速器来分析原始视频流,以便能从许多视频源中进行人员检测和跟踪(在Amazon Go等商店中有潜在用途)。
可以用来部署一个DL模型,使用FPGA分析视频流。
OpenVINO发行版包含:
优化和部署ML模型的深度学习开发工具箱(DLDT)
用于DL的FPGA深度学习加速器(DLA)和比特流
用于OpenCV、OpenVX、OpenCL和Intel Media SDK的工具、库和加速器
适用于Intel设备的插件
为DLDT提供预训练模型的模型库
DL工程师在诸如TensorFlow、PyTorch等软件平台上设计和训练模型。最终,我们将训练好的模型保存在文件中(TensorFlow中的.pb文件)。
然后,我们使用OpenVINO中的深度学习部署工具包(DLDT)来部署DL模型。
让我们将DNN模型映射到这个加速引擎架构中。许多DL模型,如AlexNet,包含高度相似的层序列组,例如卷积层后跟ReLU、归一化和最大池化。
在FPGA内部DL层是由配置的互连链接的块实现的。