全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 工业控制 >

CAPI SNAP开发及应用教程

时间:2017-11-16 13:16

人气:

作者:admin

标签: FPGA 

导读:CAPI SNAP开发及应用教程-在之前的OpenPOWER欧洲峰会上,我们推出了全新的框架,旨在便于开发者开始采用CAPI加速其应用开发。CAPI存储、网络和分析编程框架,或者简称为CAPI SNAP,通过O...

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

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

简洁的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×8 NIC:12.5秒

执行搜索

<1微秒

<100微秒

发送结果到系统内存

<400纳秒

0

总时间

4.0000014秒

12.50001秒

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

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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信