当前位置: CompoTech China > 专题 > 专题报道 >
 

不只是加速协作!FPGA 展露大将之风

本文作者:任苙萍       点击: 2019-11-18 14:53
前言:
智能应用不断推陈出新,最初被用于概念验证 (PoC) 的现场可编程逻辑门阵列 (FPGA),地位亦不可同日而语。龙头厂商赛灵思 (Xilinx) 表示,近几年来在一个电路板上,FPGA 可作为中央处理器 (CPU)、图形处理器 (GPU) 或微控制器 (MCU) 的加速引擎或协作处理器,然而如今的 FPGA,担当主控的能力可毫不逊色!赛灵思软件与人工智能资深经理罗霖直指,5G 通信、自动驾驶、传感器融合 (Sensors Fusion) 算法演进极快、且效率要求高,FPGA 凭借配置灵活特性、加上安谋 (Arm) 强力生态的助攻,FPGA 隐然有升格主角之势。
 

照片人物:赛灵思软件与人工智能资深经理罗霖
 
ASIC 等级的 FPGA X SoC 等级的设计套件
Zynq-7000 全可编程应用处理器单芯片 (AP SoC),是 Xilinx 开启异构计算的经典,采 28nm、集 FPGA 硬件可编程性与 Arm 软件编程两者之长,不仅能实现关键分析与硬件加速,还能结合各式 CPU、数字信号处理器 (DSP)、专用标准产品 (ASSP) 及单一组件混合信号,有利于客制化智能、差异化独特应用。第二个好处是让编程工具更加友善、降低开发者的进入门坎;Zynq-7000 所使用的 Vivado HLx 版本开发工具包乃是基于 C/C++、OpenCL (开放计算语言) 和 IP 设计优化而成、且可重复使用,能协助 FGPA 新手尽速驾轻就熟并整合自动化。
 
罗霖评估,传统专用芯片 (ASIC) 的设计约需 1~2 年,但 FPGA 从设计到量产最快不到一年就能完成,特别适合用于开发大量新应用。再者,丰富的操作系统 (OS)、中间件 (middleware)、堆栈 (stack)、加速器 (accelerator)、多重软/硬件保全机制,以及序列、平行、MIPI 和传感器等 I/O 外围接口,也是各家 FPGA 厂商力拼的基本配备,以优化系统层级效能。Xilinx 于 2013 年首开先河、采 20nm 制程导入全新 UltraScale 可编程架构,解决系统流量扩充、延迟率与芯片互连的瓶颈,标榜是"ASIC 等级的 FPGA",计算效能媲美专用芯片。
 
同年震撼业界的还有"首款 SoC 等级的 Vivado 设计套件",拥有可加速 C / C++ 系统级设计和高端合成 (HLS) 完整函式库,将视频处理功能整合在跨平台电脑视觉库 OpenCV,方便开发者在双核心 Arm 处理器嵌入视觉计算功能。此前,FPGA 虽以设计弹性著称,但自成一格的编程环境也让不少人望而却步;有了这套贴心配备,开发者在开发 Arm-based 处理器的同时,能经由 FPGA 为密集计算自动加速,号称较硬件加速的 C/C++ 算法提升百倍效能。此外,相较于 RTL (缓存器传递语言) 设计流程,Vivado HLS 亦可让系统验证和建置时间加速百倍。
 
 
"异构多重处理"深受智能摄影机&边缘 AI 青睐
之后,因应多重处理兴起,2015 年紧接推出 16nm Zynq UltraScale+ MPSoC (异构多重处理系统芯片),集成多达七个可编程处理器 (含 AP、实时处理器和图形处理器)。今年初瞄准规格仍在不断完善的 5G 通信再推第二代 Zynq UltraScale+ 射频 (RF) 单芯片,已于 6 月正式量产,能涵盖 sub-6GHz 所有频段、支持直接射频取样;近期将问市的第三代组件再延伸毫米波 (mmWave) 接口,让覆盖更完整,并减少 20% 功耗。不过罗霖透露,穿戴式的消费电子设备功耗须压在 1W 以下,现阶段并非 Xilinx 的目标市场。
 
相对的,智能摄影机 (<5W) 和边缘人工智能 (AI) 设备 (>10W) 是他们主力所在,尤以车用高级驾驶辅助系统 (ADAS)、保全监控、无人商店、无人搬运车 (AGV) 和自动光学检测 (AOI) 最为看好,它们各自有着严谨的行规:马达控制等工业应用有 IEC 61508 安全标准把关;车用除了须满足 AEC-Q100 芯片可靠度外,随着自动驾驶程度的提高,ISO 26262 等功能性安全 (Function Safety) 日受重视,而 Xilinx 车用产品大都已符合 ASIL C 或 D 安全等级。顺带一提,FPGA 虽可支持浮点计算,但不少专家主张 ADAS 较适合"定点量化"计算。
对此,罗霖解读:定点因为效率较高,的确是图像、影像和通信的主流技术;以精确度取胜的浮点,则较适合天气或金融等敏感数据的应用,取决于对数据容忍度而定。另一方面,静态图像 vs. 动态图像的计算侧重也不同,关键在于:低延迟,动态连续稍纵即逝,而静态没有时间概念,对延迟较宽松。他还提到,与内存的数据往返亦是影响延迟的因素之一,FPGA 的分布式片上内存可按需配置,对计算效能也有帮助。Xilinx 在 28nm、20nm 和 16nm 投产皆拔得头筹,去年底发布的"Versal"ACAP (自行调适计算加速平台),再次于 7nm 先驰得点。
 

图2:Versal ACAP 是业界第一个自行调适计算加速平台
资料来源:Xilinx官网;
https://www.xilinx.com/video/acap/versal-industrys-first-acap.html
 
接轨 AI,"软件定义硬件"时代来临!
Versal ACAP 当中的 Prime 系列与 AI 核心系列于 2019 下半年开始全面供应。其最大特色是:内嵌纯量处理引擎、自行调适硬件引擎、搭载先进内存和接口技术的智能引擎,可提供异质加速、扩展性及 AI 推论能力 (号称较 GPU 高出八倍)。此外,此平台的系列产品可从任一引擎直接存取内存并支持定制内存阶层,可进一步优化处理效能;且内建所有组件皆通过具备主从链接端口的网络单芯片 (Network on Chip, NoC) 互连,每秒传输带宽达太位 (Terabit) 并兼具低延迟、低高耗及原生软件的可编程能力。
 
罗霖总结,单一功能的 ASIC 不易应对复杂场景及日新月异的 AI 算法,为匹配多元算法,"软件定义硬件"已是大势所趋;而 Versal ACAP 已囊括基本底层核心、工具链、编译程序和函式库,其好处是:只要使用常规的设计工具、软件、IP、中间件和框架,不论是有无电子工程基础的软、硬件工程师或数据科学家,都能轻松投入 AI 开发,针对软、硬件进行编程与优化。为无缝运用各种开放原始码的标准开发系统并组建环境,Xilinx 日前在既有 Vivado 设计套件之外,再发布堆栈式统一软件平台"Vitis"。
 
Vitis 旨在将硬件模块封装成为"具软件可调用"(software-callable) 功能,让开发者得以专注于算法,共有五层架构:1.基础层为目标平台,由电路板与预编程 I/O 组成;2.第二层为核心开发工具包,用以管理不同领域之间的数据移动,包括开源的运行时间函式库,以及编译程序、分析器与除错器等核心开发工具;3.第三层是在八个 Vitis 函式库中提供逾 400 个优化开源应用,让软件开发者能使用标准应用程序编程接口 (API) 落实硬件加速;4.第四层是 Vitis AI,整合配置 Xilinx 硬件的领域专用架构 (DSA),便于开发者套用 TensorFlow、Caffe 等框架。
 

图3:Vitis堆栈
资料来源:Xilinx提供