电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

CAPI SNAP开发及应用教程

来源:电子发烧友 作者:华仔 浏览:171

标签:

摘要: 在之前的OpenPOWER欧洲峰会上,我们推出了全新的框架,旨在便于开发者开始采用CAPI加速其应用开发。CAPI存储、网络和分析编程框架,或者简称为CAPI SNAP,通过OpenPOWER成员的多家公司共同协作努...

在之前的OpenPOWER欧洲峰会上,我们推出了全新的框架,旨在便于开发者开始采用CAPI加速其应用开发。CAPI存储、网络和分析编程框架,或者简称为CAPI SNAP,通过OpenPOWER成员的多家公司共同协作努力开发而成,如今将与多家前期应用合作伙伴展开内部测试。

但是CAPI SNAP到底是什么呢?为了回答这个问题,我希望为各位深入介绍一下CAPI SNAP的运行原理。该框架通过简化API(对加速功能的调用)和加速功能的编码,从而可以扩展CAPI技术。利用CAPI SNAP,通过FPGA加速可以提高您的应用性能,因为计算资源与海量数据的关系更加密切。
 

CAPI SNAP开发及应用教程

简洁的API

ISV尤其关注这个框架的编程支持功能。该框架API可以支持应用调用加速功能。创新的FPGA框架逻辑可以实施所有计算工程接口逻辑、数据移动、高速缓存和预取工作——让程序员只专注于加速器功能的开发。

没有框架,应用程序员必须创建运行时加速库,执行如图1所示的任务。

CAPI SNAP开发及应用教程

但现在借助CAPI SNAP,应用仅仅需要如图2所示的那样的调用功能。这种简洁的API拥有源数据(地址/位置),可以执行的特定加速操作,以及发送结果数据的目标(地址/位置)。

图2:使用CAPI SNAP调用加速功能该框架能够将数据移动到加速器,并储存结果


图2:使用CAPI SNAP调用加速功能该框架能够将数据移动到加速器,并储存结果。

拉近计算与数据的距离
API参数的简洁性兼具出色和强大的特点。源地址和目标地址不仅是凝聚系统内存单元,他们也是附加存储、网络或内存地址。例如,如果框架卡具有附加存储,应用可能会通过存储获得一个大型模块(或多个模块)的数据,对FPGA中的数据执行搜索、交叉或合并这样的操作,并将搜索结果发送给主系统内存的指定目标地址。与图3所示的标准软件方法相比,这种方法具有更大的性能优势。

图3:软件中的应用搜索功能(无加速框架)


图3:软件中的应用搜索功能(无加速框架)

图4所示为源数据通过QSFP+端口流入加速器的方式,其中FPGA执行搜索功能。该框架然后会将搜索结果转发给系统内存。

图4:采用加速框架搜索引擎的应用


图4:采用加速框架搜索引擎的应用

该框架的性能优势提高了两倍:
1. 通过拉近计算与数据之间的距离(在这种情况下,即指搜索),FPGA可以提高访问存储的带宽。
2. FPGA的加速搜索比软件搜索速度更快。

表1的数据对比了两种方法,表明性能提高了3倍。通过拉近计算与数据之间的距离,与将整体数据移动到系统内存这种方法相比,FPGA提高了输入(或输出)速度。


POWER+CAPI SNAP框架

只有软件

输入100GB的数据

两个100Gb/s端口:4秒

一个PCI-E Gen3&TImes;8 NIC:12.5秒

执行搜索

<1微秒

<100微秒

发送结果到系统内存

<400纳秒

0

总时间

4.0000014秒

12.50001秒

简化加速操作的编程
编程API不仅是CAPI SNAP的唯一简化功能。该框架还简化了FPGA中“操作码”的编程。该框架能够检索源数据(无论是在系统内存、存储、网络等),并将结果发送到指定目标。使用高级语言(如C/C++或Go)编程的程序员只需要专注其数据转换或“操作”即可。与框架兼容的编译器可将高级语言转化为Verilog,然后利用Xilinx的Vivado工具集加以合成。

开源版本将会包括多种全功能实例加速器,为用户提供所需的起点和全端口声明,以便接收源数据并返回目标数据。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67