爱(AI)其实很简单 — 金融科技(Fintech)开发迎来新时代
在大数据和人工智能盛行的今天,金融科技(Fintech)领域数据日益密集和敏感,在高频交易、风险分析等金融应用由来已久却一直不温不火,高处不胜寒的赛灵思FPGA,迎来了前所未有的市场热潮。
FPGA 在 Fintech 领域之所以受青睐,归功于其内部拥有丰富且灵活的逻辑与计算单元,可以支持定制低延时、高吞吐率的设计,从而一方面能够为Fintech提供远超软件实现的性能优势,另一方面还可以为金融企业提供可以跟随最新科技演进而发展的灵活应变成本优势。然而,曾经高高在上的FPGA也一直被一些用户诟病使用“门槛”太高。换句话说,开发人员在采用FPGA产品时必须在技能上“软硬兼备”,既要软件,还要会硬件。而且,写RTL 代码和验证耗时耗力,在分秒必争,时间就是金钱的金融行业,开发者们面对FPGA 是爱恨交织,如那句歌词“想说爱你并不是很容易的事,那需要太多的勇气“
正当开发者们苦苦纠结时,赛灵思两款划时代“利器”横空出世,将FPGA的开发难度“从金字塔尖拉到了金字塔底”,大幅降低了软件和硬件程序员开发FPGA应用的难度:从此,软硬件程序员开发FPGA应用可以信手拈来,再也不必受那分配管脚、手写RTL的苦。那么,这两件利器是什么呢?那就是赛灵思Vivado HLS高层次综合工具和Alveo自适应计算加速器板卡。为什么它们这么神奇呢?请听我细细道来。
壹
高层次综合工具:Vivado HLS
Vivado HLS是一款能将C/C++代码转化为RTL代码的自动转化工具,其自带验证、封装等功能。开发者只需将顶层C/C++程序配合C/C++验证代码,通过软件验证,而后就可以用Vivado HLS将其转化为RTL代码。其次,Vivado HLS可以利用原有C/C++验证代码协同生成RTL代码,进行仿真并验证功能正确性。最后,Vivado HLS支持一键封装并生成IP,供Vivado®工具或SDAccel开发环境使用。
图1:Vivado HLS工具算法流程
这么简单?性能从何而来? 那就是Vivado HLS设计套件强大的性能:它能利用指令流水线(pipeline)、任务级流水(dataflow)和操作展开(unroll)功能,实现所有操作在时间轴上片刻不停地运转,而这些只需轻点鼠标,插入几条指令(pragma)即可实现。
图2:Vivado HLS中的并行处理
贰
自适应加速器卡:Alveo
我们再来看看Alveo 板卡能给我们带来什么,它又强大在哪里。Alveo赛灵思为适应灵活应变、万物智能的新时代而推出的自适应加速器卡系列,它配有标准PCIE、网口(可达100G),还提供了整套部署及开发的软件堆栈,使开发者可以通过安装软件包轻松部署。同时,Alveo还配备了壳(shell),可以将PCIE、DMA等功能固化,开发者只需开发最具创新性的、专有的内核(kernel),使用标准的AXI-4接口,即可自动将内核与壳相连,生成完整的平台硬件。在软件层面,开发者只需调用Open CL或赛灵思提供的API,即可完成所有板卡调度、数据传输等任务。
图3:Alveo及SDAccel开发环境的平台模型和执行模型
Alveo自适应加速器卡的适用领域非常广泛,如数据库、机器学习、图像处理、压缩及解压缩、加密及解密、金融计算等,每个领域里Alveo都有着出色的加速应用。尽管Alveo的加速倍数根据应用的不同而有所不同,但是在一些适合并行的领域,往往可以提供更加惊人的表现,例如,在不损失精度的情况下,欧式期权定价可以比CPU快3,000倍以上。下图展示的就是Alveo在赛灵思及合作伙伴的多个领域的应用。
图4:Alveo加速实例
开启 Fintech 开发新时代
软件拥有SDAccel开发环境及调度库(runtime),硬件拥有Alveo自适应加速器卡和壳,设计上拥有Vivado HLS来开发定制化需求,加之丰富的案例和开源的实际应用,赛灵思为金融科技领域的开发者开启了一个轻松上手FPGA加速的开发新时代。
此外,赛灵思还收购了在全球金融机构赫赫有名的 Solarflare公司,大大增强赛灵思在Fintech领域的实力,可以为客户提供低延时网卡和各种金融领域定制化应用。
与此同时,赛灵思还打造了全方位的Fintech生态系统。公司不仅为开发者提供了一系列工具,还提供了多种IP,甚至一些金融领域的特殊需求,如TOE(TCP/UDP Offload Engine),也有相应开源HLS帮助实现。在HLS基础库中,涵盖了定点库、数学函数库、线性代数库等,而在更高层,赛灵思还实现了模块级及软件API级的HLS开源,如矩阵运算库等。
图5:Solarflare公司
除自身提供全套工具及开源库,赛灵思还与独立软件提供商(ISV)共同提供各种解决方案。这些ISV往往拥有自己独特的解决方案,而赛灵思要做的就是对他们的应用提供支持,以满足众多领域的需求。在Fintech领域,这些应用包含:
一键下单(Tic To Trade);
交易权风控;
解包及发包;
期权定价等等。
最快甚至可以实现纳秒(ns)级的下单。在中国市场,从以太网收到交易所包到解包再到计算完成,整个流程可以在百毫微秒级实现。
图6:SDAccel工具链级Fintech平台示例
总之,赛灵思Vivado HLS和Alveo的到来,Fintech开发迎来了一个FPGA加速的新时代。开发人员无需在硬件平台搭建与基础支持工具上投入过多精力,而只需专注于自己的特长领域,借助Vivado HLS快速在Alveo™加速器卡实现定制化应用,不断突破低延时、高吞吐率的极限。
最后,如果您想亲身实践感受上述性能,强烈推荐赛灵思现有一款产品:二叉树期权定价模型。它简单易用、容易上手,同时可以实现比12核CPU高达60.8倍的加速,您可以点击链接查看体验https://github.com/Xilinx/BinomialModel。
图7:Binomial期权定价模型
FPGA 加速衍生产品定价模型 - SciComp
RTR(实时风险)- Maxeler
PTRC(预交易风险检测系统) - Algo-Logic
Xilinx 计算库,二项式期权模型 - Xilinx
SIMM(标准初始保证金模型计算 - Maxeler
高性能 Monte Carlo 期权定价模拟
赛灵思公众号
打造灵活应变,万物智能的世界
长按二维码关注我们