0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解AWS FPGA优势/特性/工作方式/用途

Hx 作者:工程师陈翠 2018-07-08 03:26 次阅读

一、 FPGA背景介绍

FPGA是Field-Programmable Gate Array的英文缩写,英文直译叫做“现场可编程门阵列”,一般都叫做“可编程硅芯片”。计算机的处理器是在预定义的电路中运行软件应用程序,与此相反,对FPGA进行编程会使芯片内部的线路重新连接,从而直接在硬件中执行所需的功能。

每一块FPGA芯片都是由有限多个带有可编程连接的预定义源组成,可实现可重配置数字电路和I/O模块并允许电路接触外部环境。

一文详解AWS FPGA优势/特性/工作方式/用途

FPGA资源说明书中通常介绍了可编程逻辑模块的数量、固定功能逻辑模块(如乘法器)的数目及存储器资源(如嵌入式块RAM)的大小。FPGA芯片中还有很多其它的部分,但是以上指标通常是在为特定应用选择和比较FPGA时的最重要参考指标。

可重配置逻辑模块(configurable logic block, CLB)是FPGA的基础逻辑单元。CLB有时又称为片(slice)或逻辑单元,由两个基本元器件构成:触发器和查找表(LUT)。不同FPGA产品系列的区别在于触发器和LUT的组合方式,因此理解触发器和LUT是至关重要的。

二、 FPGA作用

在计算加速领域,传统CPU处理能力的需要突破已经成为共识,目前的途径主要有以下几类:

途径一,ASIC:经历了几十年的发展演变,为专门目的而设计的ASIC,由于面向特定用户的需求,在加速效率上可圈可点。但是,设计周期长、成本贵、应用范围窄的通病,使ASIC仅适合于批量很大或者对产品成本不计较的场合。

途径二,GPU:随着近年来机器学习等领域的突飞猛进,GPU也早已经不再局限于3D图形处理,其在浮点运算、并行计算等部分计算方面的特性已经引起业界越来越多的关注,尤其是目前最大的独立芯片生产销售商NVIDIA有些如日中天的感觉,但其在应用广度上的通用性仍然有待时间的检验。

途径三,FPGA:它作为半定制的ASIC而出现,既解决了定制电路的不足,又在性能与应用广度上显示出优势,英特尔已经积极布局,推出CPU+FPGA架构,也有厂商推出了单独的FPGA架构,这些都使FPGA进入数据中心加速的主角地位。

下面是一个厂商提供的测试数据:

可以看出,这个厂商FPGA与服务器CPU的性能对比,单位功耗性能在机器学习推断方面提高了11倍;数据分析SQL查询方面提升了33倍;视频处理转码提高40倍;存储压缩提高40倍;网络vSwitch可提高23倍。

三、 AWS的FPGA

亚马逊AWS提供了新的EC2实例F1,这种新的EC2实例是具有现场可编程门阵列 (FPGA) 的计算实例。可以进行编程,为应用程序创建自定义硬件加速。F1 实例易于编程,并且配备了开发、模拟、调试和编译硬件加速代码所需的各种资源,包括 FPGA Developer AMI 和硬件开发工具包 (HDK)。FPGA 设计完成后,您可以将其注册为 Amazon FPGA Image (AFI),然后将其部署到您的 F1 实例,只需单击几下即可完成部署。您可以多次重复使用您的 AFI,并可以根据需要跨多个 F1 实例使用。

Amazon EC2 F1 现已推出预览版,具有两种不同的实例大小,且每个实例包含多达八个 FPGA。F1 实例配有最新的 16nm Xilinx UltraScale Plus FPGA。每个 FPGA 都具有 64 GiB 本地 DDR4 ECC 受保护内存,并配有专用 PCIe x16 连接。每个 FPGA 大约包含 250 万个逻辑元件以及大约 6800 个数字信号处理 (DSP) 引擎。与其他 Amazon EC2 按需实例一样,您将按小时为 F1 计算容量付费,无需签订长期合约,也无须支付预付款。FPGA DeveloperAMI 或 HDK 都是免费的,您可以在您的 F1 实例上根据需要对 FPGA 多次进行编程,无需额外付费。

四、 AWS FPGA的优势

快速部署自定义硬件加速。借助 F1 实例,您只需在 AWS 管理控制台中单击几下,即可在 AWS 上部署自定义 FPGA。F1 实例可以拥有一个或多个与其关联的 FPGA 设计,使您能够快速且灵活地在同一个实例上运行多个 AFI。此外,F1 实例还为您提供了编程、模拟、调试和编译硬件加速代码所需的易于访问的工具。

可预测的性能。FPGA 通过一种专用的 PCI Express(PCIe) 结构连接到您的 F1 实例,从而使各个 FPGA能够共用同一内存空间,并能够以高达 12GBps 的速度相互通信。PCI Express 结构与其他网络相隔离,且 FPGA 不会跨实例、用户或账户进行共享。此设计可确保您在使用 FPGA 时只有您的逻辑在其上运行,有助于提供一致的性能。

改变 FPGA 的经济性。借助 F1 实例,您无需自行购买 FPGA 或购买专门的硬件来运行 FPGA,即可为您的工作负载部署硬件加速,从而大幅降低为应用程序部署硬件加速所需的成本。如此一来,您便能够将 FPGA 用于更多工作负载,如基因组学研究和财务风险建模。FPGA可以按小时付费,无限次烧写。

可使用您现有的 FPGA 算法。您可以轻松地将您现有的加速算法引入AWS,并在 F1 实例中使用它们。F1 实例中的 FPGA 及 HDK 中的开发人员工具与热门 FPGA 供应商 (如 Xilinx、Altera 和其他供应商) 提供的硬件加速代码和设计工具兼容。

五、 AWS FPGA的特性

可编程的硬件加速。借助 F1 实例,您可以轻松地使用 FPGA 为您的工作负载部署硬件加速。FPGA 是可编程的集成电路,您可以使用软件进行配置。与仅使用 CPU 的服务器相比,您可以使用 FPGA 将您的应用程序速度提高达 30 倍。此外,由于 F1 实例中的 FPGA 是可编程的,因此,您可以灵活地更新和优化您的硬件加速,且无需重新设计任何硬件。

专用 FPGA。每个 F1 实例都具有多达八个 FPGA,且这些 FPGA 均专用于该实例,不会在实例、用户或账户之间共享。这可确保 FPGA 的全部力量将仅用于该实例,还能通过用户和账户隔离提高安全性。

可重复使用的安全 Amazon FPGA Image (AFI)。您所创建的用于对 FPGA 进行编程的设计被称为 Amazon FPGA Image (AFI)。AWS 提供了一种用于获取、管理和加密 AFI 的服务。注册 AFI 之后,可以将其与 Amazon 系统映像 (AMI) 相关联,也可以与正在运行的 F1 实例关联。您可以同时将多个 AFI 与同一个 F1 实例或 AMI相关联,且一个实例在运行时可在多个 AFI 之间切换,无需重新启动。如此一来,您便能够快速地连续测试和运行多个硬件加速。AFI 与 AMI 相关联后,您还可以向AWS Marketplace 中的其他客户提供您的 FPGA 加速。

硬件开发工具包。AWS 提供了硬件开发工具包 (HDK),帮助您快速开发硬件加速。HDK 包括代码示例、编译脚本、调试接口以及为 F1 实例开发 FPGA 代码所需的许多其他工具。您可以在 AWS 提供的 AMI 或您的本地开发环境中使用 HDK。

FPGA Developer AMI。FPGADeveloper AMI 包括一个预先打包的工具开发环境,其中含有用于模拟 FPGA 设计、编译代码及构建和注册 AFI 的脚本和工具。FPGA Developer AMI 包括用于调试和编译代码的工具。您可以在 Amazon EC2 实例上部署 FPGA Developer AMI,并快速预配置您所需的资源,以便编写和测试您的 FPGA 设计。

六、 AWS FPGA的实例详情

一文详解AWS FPGA优势/特性/工作方式/用途

七、 AWS FPGA的工作方式

开发:使用硬件开发工具包 (HDK) 及一整套设计工具和模拟器来开发自定义 Amazon FPGA Images (AFI)。

部署:直接在 F1 实例上部署 AFI,并利用 EC2 的所有可扩展性、敏捷性和安全性优势。

提供:在 AWS Marketplace 中为其他客户提供您设计的AFI。

购买:购买 AWS Marketplace 中列出的构建好的 AFI,从而快速实施常见的硬件加速。

看一个简单的例子。先登入到开发环境AMI,如下图所示:

一文详解AWS FPGA优势/特性/工作方式/用途

进入AMI之后,安装一些依赖包,启动License管理器,然后就能打开Xilinx的FPGA开发工具Vivado了。所以所谓的AMI其实就是一个操作系统,包含了Xilinx的FPGA开发工具和亚马逊的支持包。

可以使用VHDL和Verilog来编写FPGA代码,然后编译、模拟、并且进行校验。下面是一段Verilog代码:

module up_counter(out, enable, clk, reset);

output [7:0] out;

input enable, clk, reset;

reg [7:0] out;

always @(posedge clk)

if (reset) begin

out 《= 8‘b0;

end else if (enable) begin

out 《= out +1;

end

endmodule

通过命令行启动Vivado,用来图形化编程:

一文详解AWS FPGA优势/特性/工作方式/用途

一文详解AWS FPGA优势/特性/工作方式/用途

写一段Verilog或者OpenCL代码,并编译综合成硬件逻辑。

一文详解AWS FPGA优势/特性/工作方式/用途

F1硬件开发工具包:

一文详解AWS FPGA优势/特性/工作方式/用途

八、 AWS FPGA的用途

使用 F1 实例部署硬件加速在许多高性能计算 (HPC) 应用程序中非常有用,可解决需要高带宽、增强型联网和较高计算能力的复杂科学、工程和业务问题。F1 实例尤其适用于有时间要求的应用程序,如临床基因组学、实时视频处理和财务风险分析。

基因组学研究:必须由基因组学研究人员处理的生物数据的数量和复杂性不断增加,逐步达到了 PB 级范围。研究人员和临床医生必须非常快速地处理这些数据集,以满足医生及其患者的需求。对于此类有时间要求的使用案例,F1 实例是理想的解决方案。

财务分析:金融服务行业对多种应用程序的 HPC 功能需求一直在不断增加,包括风险建模和分析、针对安全性的事务分析、高频交易等。金融服务组织可以使用 F1 实例来提高风险建模和分析的准确性,从而显著改进他们的决策制定流程。

实时视频处理:高性能广播级视频应用程序 (如图片处理、视频分析及视频转码和压缩) 需要使用实时分析功能。F1 实例是满足这些应用程序要求的理想解决方案,且不会影响视频质量。

大数据搜索和分析:许多大数据应用程序对数据分析和搜索的数量、多样性和速度要求不断提高,导致客户正在寻求硬件加速来满足这些要求。对于这些应用程序,客户可以利用 F1 实例的增强性能来满足其大数据分析和搜索要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21665

    浏览量

    601765
  • AWS
    AWS
    +关注

    关注

    0

    文章

    427

    浏览量

    24312
收藏 人收藏

    评论

    相关推荐

    单片机中的定时计数器的四种工作方式详解

    /定时器。定时/计数器的四种工作方式讲解方式0为13位计数器,由TL(1/0)的低5位和TH(0/1)的8位组成,,此时TL(1/0)的高3位未用。M1、M0:定时/计数器共有四种工作方式
    发表于 04-30 06:30

    51单片机定时器工作方式

    51单片机定时器工作方式1、2的详解:写在前面知识填充方式工作原理初值的设定代码实现方式
    发表于 07-14 07:03

    鼠标的工作方式

    鼠标的工作方式 工作方式是指鼠标采用什么工作原理或方式进行工作。常见的鼠标工作方式有滚轮式和光
    发表于 12-28 11:38 824次阅读

    Wifi模块的工作方式功能是什么?

    Wifi模块的工作方式是什么呢,Wifi模块的主要功能又有哪些呢?本文主要介绍了有关Wifi模块的基础知识即:Wifi模块的工作方式、主要功能及应用领域。
    发表于 06-12 14:22 5871次阅读

    步进电机及驱动电路工作原理及工作方式介绍

    步进电机及驱动电路工作原理及工作方式介绍
    发表于 05-11 18:00 0次下载

    详解PLC的工作方式

    众所周知,PLC的工作方式为: 循环扫描:也就是从程序的首端到底端、从左端到右端,逐行扫描,不断地重复! 行字看起来很简单,也很好理解,可实际编程中还是错误多多,这是因为基础不够扎实。那PLC的循环扫描具体是如何运作的呢?我们可以引用
    的头像 发表于 01-21 09:55 1.4w次阅读
    <b class='flag-5'>一</b>图<b class='flag-5'>详解</b>PLC的<b class='flag-5'>工作方式</b>

    看懂矩阵键盘的特点及工作方式

    矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。本文首先介绍了矩阵键盘特点,其次阐述了矩阵键盘构成与工作方式,最后介绍了矩阵键盘的原理。
    发表于 02-24 14:20 3.8w次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂矩阵键盘的特点及<b class='flag-5'>工作方式</b>

    总结蓝牙模块的工作方式汇总,很全值得收藏!

    蓝牙模块的工作方式有哪些呢?资料总结了蓝牙模块的常见的7种工作方式,需要的亲可以收藏下
    发表于 04-26 15:05 15次下载
    <b class='flag-5'>一</b><b class='flag-5'>文</b>总结蓝牙模块的<b class='flag-5'>工作方式</b>汇总,很全值得收藏!

    8255a有哪几种工作方式?8251a的工作方式工作原理

    本文首先介绍了8255芯片的概念与特性,其次介绍了8255A引脚图及功能,最后介绍了8255a的几种工作方式工作原理。
    的头像 发表于 05-23 14:40 6.4w次阅读
    8255a有哪几种<b class='flag-5'>工作方式</b>?8251a的<b class='flag-5'>工作方式</b>及<b class='flag-5'>工作</b>原理

    ups不间断电源工作方式

    本视频主要详细介绍了ups不间断电源工作方式,分别是正常运行方式、电池工作方式、旁路运行方式以及旁路维护方式
    的头像 发表于 06-26 14:38 7296次阅读

    AD级联的工作方式配置和AD双排序的工作方式配置详细说明

    本文档的主要内容详细介绍的是AD级联的工作方式配置和AD双排序的工作方式配置详细说明
    发表于 12-23 08:00 2次下载
    AD级联的<b class='flag-5'>工作方式</b>配置和AD双排序的<b class='flag-5'>工作方式</b>配置详细说明

    51单片机定时器工作方式1、2原理详解

    51单片机方式1、2的详解:写在前面知识填充方式工作原理初值的设定代码实现方式
    发表于 11-10 20:06 12次下载
    51单片机定时器<b class='flag-5'>工作方式</b>1、2原理<b class='flag-5'>详解</b>

    最常见的直流负载工作方式

    见的直流负载工作方式。 1. 固定电阻负载 固定电阻负载是最简单和最常见的直流负载方式。它由个或多个电阻器组成,用于产生个恒定的电阻
    的头像 发表于 01-18 15:12 691次阅读

    斩波器的定频调宽工作方式

    斩波器的定频调宽工作方式种电力电子控制技术,用于调节输出电压或电流。
    的头像 发表于 05-24 16:12 586次阅读

    PLC的CPU工作方式详解

    Processing Unit,中央处理器)作为其核心组件,其工作方式直接影响到PLC的性能和稳定性。本文将详细探讨PLC的CPU工作方式,包括其工作原理、主要模式以及实际应用中的注意事项,以期为相关技术人员提供参考和借鉴。
    的头像 发表于 06-13 18:20 1584次阅读