[图文]赛灵思Vitis平台

发布时间:2019-10-14浏览次数:0

 2019年10月9日赛灵思发布Vitis平台


Vitis横空出世!

     2019年10月9日,赛灵思宣布推出一款名为“Vitis”的统一软件平台(一个月后面市,开放、免费),这个平台包括目标平台、核心开发套件、加速库和特定领域开发环境,据称能够让软硬件开发者们在无需掌握硬件专业知识的情况下,根据软件或算法代码来自动适配并使用赛灵思的硬件架构。

      这个很牛,我们都知道,FPGA最难的就是开发工具,很多本土FPGA厂商的短板就是开发工具,这些年,赛灵思主要做的工作是不断降低FPGA的开发门槛,我们知道,最早开发FPGA是需要懂VHDL语言的---这就跟开发IC一样,门槛极高,不是一般人能用的,更别说软件开发人员。后来赛灵思推出了能直接编译C to FPGA语言的工具,让软件人员可以轻松开发FPGA了,就跟现在开发X86程序一样,不用关心是英特尔的CPU还是AMD的,只要专注应用开发就好。现在,赛灵思的“Vitis”来了,一站式解决了嵌入式开发、软件应用开发、AI开发等所有问题,让所有人可以都可以创新,堪称是软件开发全家桶!

火狐截图_2019-10-14T15-13-59.902Z.png

Vitis统一软件平台到底是个什么平台?我们来详细聊聊

| Vitis 统一软件平台介绍 |


火狐截图_2019-10-14T15-14-20.930Z.png





Vitis 堆栈

Vitis 堆栈.png

Vitis 平台构建在基于堆栈的架构之上,该架构可以无缝插入到开源的标准开发系统与构建环境,而且最重要的是,它包含一套丰富的标准库。

基础层是 Vitis 目标平台。该平台由电路板和预编程 I/O构成。第二层称为 Vitis 核心开发套件,覆盖开源赛灵思运行时库,以管理不同域间的数据移动,包括子系统、即将发布的 Versal ACAP™ 内的 AI 引擎和必要的外部主机。此外,该层也提供编译器、分析器和调试器等核心开发工具。虽然赛灵思提供的是世界一流的设计环境,但是这些工具设计的目的是能与业界标准的构建系统与开发环境无缝集成。

在第三层,8 个 Vitis 库提供 400 余种优化的开源应用。这 8 个库分别是:Vitis 基本线性代数子程序(BLAS)库、Vitis 求解器库、Vitis 安全库、Vitis 视觉库、Vitis 数据压缩库、Vitis 计量金融库、Vitis 数据库集和 Vitis AI 库。借助这些库,软件开发者可以使用标准的应用编程接口(API)来实现硬件加速。



Vitis AI 和特定领域架构

Vitis AI 和特定领域架构.png

      Vitis 平台的第 4 层,也是最具有变革意义的一层是 Vitis AI。它集成了特定领域架构(DSA)。DSA 提供了针对AI模型的硬件实现,开发者可以使用包括 TensorFlow 和 Caffe 等业界领先框架对其进行配置与编程。Vitis AI 提供的工具链能在数分钟内完成优化、量化和编译操作,在赛灵思器件上高效地运行预先训练好的AI模型。此外,它也为从边缘到云端的部署提供了专用 API,实现业界一流的推断性能与效率。赛灵思很快还将推出另一个 DSA(Vitis Video),支持从 FFmpeg 直接进行编码并提供同样超级简单且功能极强大的端到端视频解决方案。由合作伙伴公司提供的 DSA 包括:与 GATK 集成用于基因分析的Illumina,与ElasticSearch 集成用于大数据分析的BlackLynx,以及当前我们客户正在使用的专有DSA。



O V E R V I E W

Vitis 统一软件平台简介


Vitis 统一软件平台包括:

  • 全面的内核开发套件,可无缝构建加速的应用

  • 完整的硬件加速开源库,针对 Xilinx 硬件平台进行了优化

  • 插入特定领域的开发环境,可直接在熟悉的更高层次框架中进行开发

  • 不断发展的硬件加速合作伙伴库和预建应用生态系统

Vitis 统一软件平台简介.png

K E Y  C O M P O N E N T

重 要 组 件

Vitis AI 开发环境

一个专门的开发环境,用于在 Xilinx 嵌入式平台、Alveo 加速卡或云端 FPGA 实例上加速 AI 推断。Vitis AI 不仅支持业界领先的深度学习框架,如 Tensorflow 和 Caffee ,而且还提供全面的 API 来修剪、量化、优化和编译训练过的网络,从而可为您部署的应用实现最高的 AI 推断性能。

Vitis AI 开发环境.png



Vitis 加速库

性能优化的开源库,提供开箱即用的加速,对于采用 C、C++ 或 Python 编写的现有应用而言,代码修改极少,甚至不需要修改代码。按原样利用特定领域的加速库,通过修改适应您的需求,或者在您的自定义加速器中用作算法构建块。

Vitis 加速库.png



Vitis Core 开发套件

完整的图形开发工具和命令行开发工具,其中包括 Vitis 编译器、分析器和调试器,用于构建、分析性能瓶颈问题,调试加速算法,使用 C、C++ 或 OpenCL 进行开发。在您自己的 IDE 中使用这些特性,或者使用独立的 Vitis IDE。

Vitis Core 开发套件.png



Xilinx RunTime 库

Xilinx 运行时 (XRT) 可促进应用代码(运行在嵌入式 ARM 或 x86 主机上)与加速器(部署在基于 PCIe 的 Xilinx 加速卡、基于 MPSoC 的嵌入式平台或 ACAP 的可重构部分上)之间的通信。它包括用户空间库和 API、内核驱动、电路板实用程序和固件。

Xilinx RunTime 库.png



Vitis 目标平台

Vitis 目标平台为 Xilinx 平台定义了基本软硬件架构及应用环境,包括外部存储接口、自定义输入输出接口和软件运行时。

  • 对于本地或云的 Xilinx 加速卡,Vitis 目标平台可自动配置 PCIe 接口,这些接口可连接和管理 FPGA 加速器和 x86 应用代码之间的通信 — 无需实现任何连接细节!

  • 对于 Xilinx 嵌入式器件,Vitis 目标平台还包括用于平台上处理器的操作系统、平台外设的引导加载程序和驱动程序,以及根文件系统。您可以为 Xilinx 评估板使用预定义 Vitis 目标平台,也可在 Vivado Design Suite 中定义自己的 Vitis 目标平台。

Vitis 目标平台.png



使用 Vitis 软件可以加速应用开发流程

例如智能城市开发,可以通过一系列全面的预先优化模型,这些模型现已就绪,可随时部署在 Xilinx 器件上。可以找到最相似的模型,开始针对应用重新训练!

使用 Vitis 软件可以加速应用开发流程.png

此外,Vitis 平台提供了一个功能强大的量化器,支持模型量化、校准和微调。对于高级用户,我们还提供一个可选的人工智能优化器,其可将模型修剪达 90%!

AI 优化器

有了世界领先的模型压缩技术,我们可以在对精度影响极小的情况下,将模型的复杂性降低 5 至 50 倍。深度压缩可将您的 AI 推断性能提升到一个新的层次。

AI 优化器.png



AI 量化器

通过将 32 位浮点权值和激活量转换为 INT8 这样的定点,AI 量化器可在不影响预测精度的情况下,降低计算复杂度。定点网络模型需要的内存带宽更少,因此比浮点网络模型速度更快,电源效率更高。

AI 量化器.png



AI 编译器

将 AI 模型映射至高效指令集及数据流。还可执行高级优化任务,如层融合和指令排程等,并可尽量重复使用片上内存。

AI 编译器.png



AI 配置器

性能分析器有助于程序员深入分析 AI 推断实现方案的效率和利用率。

AI 配置器.png



AI 库

该运行时提供一系列轻量级 C++ 及 Python API,其可实现便捷的应用开发。此外,它还提供高效的任务调度、内存管理和中断处理。

AI 库.png





Vitis AI 模型专区包括优化的深度学习模型,可加速在 Xilinx 平台上部署深度学习推断的进程。这些模型涵盖不同的应用,包括但不限于 ADAS/AD、视频监控、机器人和数据中心等。您可以从这些预先训练的模型启动设计,享受深度学习加速的优势。

模型简介.png

    Xilinx AI 平台支持大量 AI/ML 模型,如下所示。


通用应用

  • 图像分类:Googlenetv1、Resnet50、Resnet101、Resnet152 Inception v1、BN-inception、VGG16、SqueezeNet、Mobilenet、MobilenetV2

  • 目标检查:MobilnetV2-SSD, SSD, YOLO v2, YOLO v3, Tiny YOLO v2, Tiny YOLO v3

  • 市场细分:ENet, ESPNet


人脸

  • 面部检查:SSD、Densebox

  • 路标定位:坐标回归

  • 面部识别:ResNet + Triplet / A-softmax 丢失

  • 面部属性识别:分类与回归


行人

  • 行人检查:SSD

  • 姿态估计:坐标回归

视频分析

  • 目标检查:SSD、RefineDet

  • 行人属性识别:GoogleNet

  • 汽车属性识别:GoogleNet,修改后的 Densebox + GoogleNet

  • 车牌检查:修改的 DenseBox

  • 车牌识别:GoogleNet + 多任务学习



Vitis Accelerated Libraries

Vitis 加速库


Vitis™ 统一软件平台包括一组广泛的、性能优化的开源库,这些库提供了即开即用的加速功能,并且对现有应用实现最小化代码更改或零更改。

  • 常见的 Vitis 加速库(用于数学、统计、线性代数和 DSP)为各种应用提供了一系列核心功能。

  • 特定领域 Vitis 加速库为视觉及图像处理、定量金融、数据库及数据分析以及数据压缩等工作负载提供了开箱即用的加速功能。

  • 利用合作伙伴加速库、框架插件以及加速应用这一不断发展的生态系统,迅速启动设计,加速您的量产进程。

Vitis 加速库.png

使用熟悉的编程语言


采用您熟悉的常用编程语言(如 C、C++ 和 Python)编程的 Vitis 加速库。将 Xilinx 平台作为实现您应用的工具 — 在应用层面工作,将您的主要精力集中在解决您所在领域极具挑战性的问题上,并加速洞察与创新的进程。


无论您是想要加速现有 x86 主机应用代码的某些部分,还是想要开发在 Xilinx 嵌入式平台上部署的加速器,在您的代码中调用 Vitis 加速器库 API 或内核都可提供与任何软件库相同的抽象级别。

使用熟悉的编程语言.png



可扩展,灵活度高


所有开发人员都可通过 GitHub 访问 Vitis 加速器库,而且这些库可在所有 Xilinx 平台间扩展。使用这些优化的库开发应用并在边缘、本地或云的 Xilinx 平台间进行无缝部署,无需重新实现加速应用

为了针对 Xilinx 可为应用带来的优势快速进行原型设计和评估,您可将其用作即插即用加速器,在用户应用中作为 API 直接调用,满足计算机视觉及图像处理、定量金融、数据库和数据分析等多个工作负载需求。

可扩展灵活性高.png

要为您的应用设计自定义加速器,可将 Vitis 库函数用作优化的算法构建块,对其进行修改,以满足您的特定需求,也可将其用作参考来完全设计您自己的加速器。选择您需要的灵活性!

将特定领域 Vitis 库与 Vitis AI 库或 Vitis AI 开发套件预先优化的深度学习模型相结合,不仅可加速整个应用,而且还可达到整个系统级的功能及性能目标。

User Algorithm.png




Vitis 加速库一览

Vitis 加速库一览.png

       目前,AI应用正从云端走向边缘,而Vitis是支持从边缘到云端的硬件开发的,Vitis统一软件平台还支持用户在赛灵思的FPGA、SoC和ACAP等异构平台上开发嵌入式软件和加速应用,并为边缘、云和混合计算应用加速提供统一的编程模型,进一步为软硬件开发者们的硬件开发带来便利。为了实现从边缘端到云端的一次性编程,以及自适应的调用和计算,Vitis统一软件平台为边缘端和云端提供了统一的API。

Vitis统一软件平台.png

 “Vitis更像是一个工具,一个帮助客户增强生命力的工具。”针对这一问题,唐晓蕾说到。一方面,Vitis与硬件有一定的相关性。目前,Vitis支持28nm制程及以下的所有的器件,而未来随着AI引擎的提升,以及制程工艺更新,Vitis会支持越来越广泛的硬件和引擎。另一方面,在硬件和软件创新协同发展的当下,Vitis软件不仅会让客户更便捷地使用第三方IP工具,同时还会通过和客户的沟通,进一步提高工具应用的效率,完善Vitis的应用性能。

       简单地总结,有了Vitis,赛灵思打造了完整的面向所有开发者的平台。在这个平台上,AI和数据科学家可以加速开发,软件开发者也可以加速开发,硬件开发者也可以加速开发。赛灵思的软件平台终于完整和成形了。

面向所有开发者.png

  Xilinx的Vitis平台,工具有从云端到边缘,从软件到 AI 综合全面的库和模型,有从硬件到软件的灵活应变能力,使用标准的环境与 API!而且它是开源的,开源的,开源的!



 深度信息化领域的技术、产品、服务提供者,西安创成软件信息技术有限公司,欢迎您的需求反馈!