楼主: 大多数88
1291 21

[量化金融] 用硬件加速隐式差分格式 [推广有奖]

11
何人来此 在职认证  发表于 2022-5-5 19:52:20
简单的重排和最大值将出现在最大绝对值处的观察给出了定理1的结果。定理2设A按行对角占优,设A有LU FactoriaSationa=LU,然后| dn |>|b-卡克∞|b | kck∞| 对于每n,假设b(n)是行索引的正单调递增函数,i和 B≤ kck∞.证明=b(17)d=b-abc(18)b-卡克∞|b | kck∞≤ d(19)在b(n)为正单调递增函数的假设下-卡克∞|b | kck∞≤ B-卡克∞|b | kck∞≤ d、 (20)最后,为了使本案能适用于所有案件,必须适用于klk∞≤卡克∞|b |,这意味着:≤ B-卡克∞|b | kck∞, (21)因此,本次暂停 B≤ kck∞, 鉴于kak∞< |b |。担保可能适用于更一般的功能b(n),但理论2目前满足我们的要求。一种可能的方法可以研究在什么条件下,某个序列b使d最小。定理3假设A是按行对角占优的,假设A有LU分解A=LU,然后是klk∞<卡克∞|B-卡克∞|b | kck∞|<卡克∞|b |,假设b(n)是行索引n的正单调递增函数,且 B≤ kck∞.使用定理2证明,当a的最大值除以d的最小值时,必须达到l的最大值。事实上,尽管定理1提供了d值的上限,但使用之前的定理,现在可以定义更严格更精确的界。定理4设A按行对角占优,设A有LU阶乘A=LU然后是d≤ kbk∞+klk∞kck∞, 假设b(n)是行索引n.4.1.1的单调递增函数,限定了Thomas算法。第一节描述了矩阵LU分解的各种界限。这形成了著名的托马斯算法的基础,该算法用于解决T x=y形式的三对角化问题,其中T是一个三对角矩阵。

12
大多数88 在职认证  发表于 2022-5-5 19:52:24
该算法的第一阶段是对矩阵进行LU分解,然后使用正向和反向替换求解辅助方程。定理5:让一个三对角矩阵T,它是按行对角占优的,有klk的LU分解T=LU∞< 1.然后用z=ux求解反演问题Lz=y的第一个辅助方程,它认为krk∞< kyk∞(1-klk∞)首先证明zn的项是展开的,利用定理3,可以用上限klk替换单个的literm∞krk∞≤ |yN |+N-1.∑k=1KKK∞|yk |。(22)然后可以将伸缩和压缩成一个几何序列,当i=N时,该序列有一个最大值,即使用所有项。考虑到最大y值的指数可能未知,可以通过将其作为最终项包含在几何和中来形成更大的界限。事实上,我们可以通过假设所有值都是最大值来进一步放宽限制,sokzk∞≤ |yN |+N-1.∑k=1KKK∞|yk|≤ kyk∞(1+N)-1.∑k=1KKK∞). (23)使用几何序列和的公式,最大界becomeskzk∞≤ kyk∞1+klk∞(1 - klkN-1.∞)1.- klk∞, (24)最后,如果klk∞< 1可以使用使用有限几何图形的更简单形式:kyk∞1+klk∞(1 - klkN-1.∞)1.- klk∞< kyk∞1.- klk∞(25)本文提出的硬件优化算法需要计算两个额外的中间值。定理6设T是一个三对角矩阵,该矩阵按行对角占优,且T具有LU因子分解T=LU和klk∞< 1并假设REM 2的条件保持不变。然后是中间值| cd |≤kck∞|b |和| zd |≤kzk∞|b |。我们现在可以推导出最终值的界限,如下所示。定理7给出一个三对角矩阵T按行对角占优,并设T=LU因子分解为klk∞< 1,并假设定理2成立,所有n的bn>1和cn<1≤ N

13
mingdashike22 在职认证  发表于 2022-5-5 19:52:27
然后kvk∞<kzk∞|b|-1.证明vN=zd(26)|vN |<kzk∞|b |(27)递归从vN开始-1,因此可以看到|vN-1 |<kzk∞|b |+VNkck∞|b |<kzk∞|b |+kzk∞|b | kck∞|b |。(28)以这种方式展开递归序列的结果由|vn |<N给出-N∑i=0kcki∞kzk∞|b | i+1。(29)现在假设| b |>1和kck∞< 1,该序列的极限为:|vn |<N-N∑i=0kcki∞kzk∞|b | i+1<kzk∞|b|- 1(30)结合前面的定理,现在可以确定一组条件,以确保算法中任何变量的绝对值不超过某个界限。在将定点设计应用于给定问题时,这将被证明非常有用。命题1对于给定的整数Z>0,存在一组条件,使得Thomas算法中的所有中间变量都可以有Z的界,假设B(n)是行索引的正单调递增函数,且| an |<1、|cn |<1和|bn |>1N≤ N.以下条件已足够。1.klk∞< 1这意味着kak∞< |b | 2。kyk∞< Z | b|-卡克∞|b |+13。kck∞< |b | 4。 B≤ kck∞请注意,提案6.1中的条件是充分的,但可能不是必需的。5硬件实现5。1 FPGA资源使用Thomas Solver硬件使用ZedBoard Xilinx Zynq7020评估工具包进行测试。Zynq7020是一款片上系统,由两个连接到Xilinx Artix-7 FPGA结构的ARM-A9处理器组成,允许在CPU和FPGA之间实现高速接口。使用Zynq7020,方程组在ARM-A9 CPU上的起始点形成,然后通过AXI接口传输到FPGA,并使用FPGA Thomas解算器求解。然后将定点结果转换回浮点数,并与使用浮点数算法解决的同一问题的结果进行比较。表5.1中的结果是从VivadoDesign套件实施后获得的。

14
mingdashike22 在职认证  发表于 2022-5-5 19:52:30
所使用的基本设计有10个线程的Nmax=512(Mmax=10)和可变算法。一个浮点设计和三个数据表示为[整数位,小数位]的定点解算器已经过测试,32位[2,30],24位[2,22],16位[2,14]。对于算术核,使用提供的Xilinx基本IP核,并将其设置为最大限度地利用DSP,基数2除法算法用作定点除法器的一部分。每个解算器设计都有相同的延迟大小,其中浮点设计提供了最低的总延迟,尽管定点设计可能会通过使用更高的基数除法器算法来加速。higherradix除法器算法的缺点是,由于算法的迭代性质,最大吞吐量会降低,但如果不可能实现每个时钟周期处理一个三对角系统的最大吞吐量,这是有用的。

15
何人来此 在职认证  发表于 2022-5-5 19:52:34
Xilinx Zynq7020每种设计使用的主要优势1 FPGA资源和使用的资源百分比。算术格式浮动固定[2,30]固定[2,22]固定[2,14]触发器25721(24%)15369(14%)17224(16%)10711(10%)LUT 27204(51%)20722(39%)16998(32%)11894(22%)Mem LUT 10547(61%)8683(50%)6174(35%)4294(25%)BRAM 35(25%)3(2%)3(2%)3(2%)3(2%)3(2%)DSP 6(3)(3%)15(7%)9(4%)6(3%)Buft 1(3%)1(3%)1(3%)1(3%)1(3%)1(3%)1(3%)时钟200MHz功率表Thomas solver core每个组件的时钟周期延迟。算术格式浮动固定[2,30]固定[2,22]固定[2,14]除法(基数-2)乘法器6 6 6减法器4 2向前4 69 60托马斯向后6 8管理3表3在desktopCPU和实现的托马斯解算器上计算三对角系统(N=100)解的平均时间(ms)。最大吞吐量最小吞吐量CPU(2.6GHz)0.020ms(1x)0.020ms(1x)浮动0.0012ms(16x)0.063ms(0.31x)固定[2,30]0.00055ms(36x)0.040ms(0.50x)固定[2,22]0.00055ms(36x)0.036ms(0.55x)固定[2,14]0.00057ms(35x)0.028ms(0.72x)固定点解算器是减少的资源使用,通过允许更多的解算器内核安装到设备上,并增加流水线三对角系统的最大数量,从而提供了最大化粗粒度并行性的机会。正如所料,内存资源量与定点设计所用的总数据宽度成正比,而浮点解算器虽然宽32位,但使用的内存资源(BRAM和内存LUT)要多得多。5.2性能一旦实现的FPGA时钟速度已知,解算器的延迟性能可以使用等式9进行评估。

16
mingdashike22 在职认证  发表于 2022-5-5 19:52:37
起爆点设计只能实现100MHz的最大时钟频率,而固定点设计则可以在200MHz时实现两倍。因此,尽管定点设计在时钟周期方面可能有稍高的延迟,但由于较高的时钟频率,计算速度要快得多。每个三对角系统的平均时间(以毫秒为单位)如表5.2所示,即最小吞吐量、单个三对角系统和最大吞吐量,其中管道已满。这些结果与顶级台式机上2.6GHz CPU的平均时间进行了比较。如果将解算器用于单三对角系统,则速度略低于范围2的上限。6GHz CPU,但这没有利用流水线设计。在最大吞吐量下,对于FPGA定点和浮点设计,在2.6GHz CPU上可以分别实现高达36倍和16倍的加速。从计算能力的成本来看,这里使用的基本的200美元FPGA板可以比1000美元以上的台式计算机表现更好,而且使用的功率也要小得多。这是由于FPGA上的深层流水线和定制数据路径。6隐式有限差分模式的实现在本节中,我们在期权定价的背景下评估定点托马斯解算器的准确性。通过隐式有限差分法对期权进行定价需要一个或多个三对角方程组来求解。我们使用Black-Scholes模型求解欧式期权隐式有限差分格式中的三对角系统。6.1固定点设计的缩放如前所述,其动机是使用固定点算法,因为与浮动点相比,固定点算法的设计更小、更快。

17
mingdashike22 在职认证  发表于 2022-5-5 19:52:40
通过隐式有限差为欧式期权定价的三对角系数如下所示:an=-(nσ)- nr)dtbn=1+(nσ+r)dtcn=-(nσ+nr)dtaN=NrdtbN=1- (Nr)- r) dtyn=支付(Sn),其中y由问题的初始边界条件定义,在这种情况下,期权的支付函数。观察所有受试者的系数bn>1≤ N、 定点表示将使用两个整数位,Z=2以确保无算术溢出。利用命题1,可以证明隐式Black Scholes算法的系数是有界的,因此在对有界系数值应用基本网格约束并对y值进行适当转换以满足命题2的条件后,Z=2。这在命题2中得到了更正式的表达。命题2给定Black-Scholes隐式定价问题AI,在问题域上给定以下网格约束和适当的线性变换,可以确保算法的上确界,即算法中计算的所有值sup(|AI |)<Z。dt<σN(31)^yn=f(yn)(32)f(yn)=ynZ | b |- 卡克∞(|b |+1)kyk∞(33)6.2定点解算器精度定点解算器设计通过随机期权定价问题生成的5000个随机选择的三角方程样本进行测试。随机选择两个与市场相关的参数,利率r和波动率σ,作为每个假设样本,生成一个新的三对角方程样本进行求解,r=U[0.01,0.05],σ=U[0.10,0.30]。在最大市场参数值的情况下,选择有限差分网格参数以满足等式(31)中的约束,这要求dt=0.001。

18
kedemingshi 在职认证  发表于 2022-5-5 19:52:43
最后,为了满足kyk的最终条件,需要一个比例因子0。45ZKK∞使用公式(33)计算,为了满足这个条件,选择了问题,使SN=2和K=1。表6.2给出了定点设计中使用的小数位数的预期舍入误差。将浮点数x四舍五入到定点表示中的预期舍入误差ernd(x,f),其中Erndi为舍入误差,f为小数位数,由以下公式得出:E(ernd(x,f))=f-1.十、∈ U[0,∞]. (34)我们假设舍入误差是均匀分布的白噪声(Barnes等人,1985)。如果获得的误差小于该值,则表明定点值被四舍五入为0,实际值小于定点表示中可能表示的值。与预期误差大小类似的误差表明,对于给定的定点表示,定点结果的平均精度尽可能高。图6.2显示了使用30个分数位的定点解算器的浮点结果的绝对误差。该图最显著的特点是,误差与支付函数的形状相似,表明期权价格的大小在误差函数中起作用。通过观察得出了一个最坏情况下的误差函数,即对于期权价格V,它认为V<Sn,即欧洲期权价格最多必须是由于罢工影响的资产价格。然后,最大误差是资产价格、最小预期舍入误差和n的函数,以通过迭代(Sn)=nSnf考虑误差代理因素-1.(35)图5和图6分别显示了22位和14位小数的定点解算器的绝对误差。这两组错误显示的形状与图中的不同。

19
kedemingshi 在职认证  发表于 2022-5-5 19:52:46
4 5000个三对角系统固定点结果的平均绝对误差,使用30个分馏比特,与浮点数结果(o)相关。使用公式(35)(×)估计的最大误差范围。图5:5000个三对角系统的定点结果的平均绝对误差,使用22个分馏位数,与浮点数结果(o)有关。表4 FPGA实现的预期舍入误差和最大绝对误差的比较。分数宽度30 22 14预期舍入误差2.33E-10 5.95E-08 1.52E-05对于30个分数位观察到的最大FPGA误差4.06E-08 4.88E-07 1.23E-04,峰值接近执行价格,随后下降。然而,它们各自关于最小分数分辨率的绝对误差有了很大的改善,最大误差的大小是相同的数量级,这在大小上比方程35预测的误差小100倍。这些结果表明,定点算法在给定的指定位置是准确的,之后精度开始下降。这就解释了为什么30个分数位的错误比相应的最小分数分辨率大得多,并且与22和14个分数位的实现形成对比。图6:5000个三对角系统固定点结果的平均绝对误差,使用14个分馏点与浮点数结果相关。7结论和未来研究在这项工作中,我们提出并介绍了一个基于高性能EFPGA的三对角解算器的原型设计。与浮点设计相比,定点设计可以最大限度地减少资源使用,并获得更高的时钟频率。与顶级台式机上的2.6GHz CPU相比,定点和浮点数设计分别可以实现36倍和16倍的加速。

20
mingdashike22 在职认证  发表于 2022-5-5 19:52:49
在求解大型独立三对角系统时,可以通过在FPGA上添加更多解算器核来线性扩展系统。对于定点设计,研究了由于有限的分数分辨率导致的结果中引入的误差。总的来说,在隐式期权定价示例中,误差得到了很好的控制,22位和14位小数表示的最大误差为预期舍入误差的10倍,30位小数表示的最大误差为50倍。总之,我们的方法可以进一步集成到一个更大的基于FPGA的隐式定价系统中,以实现加速期权定价的高速低成本解决方案。未来的工作将研究如何通过使用混合精度架构来提高精度,同时保持高时钟速率和低FPGA资源使用率;例如,计算16位定点的正向迭代和32位定点的反向迭代。在理论分析的基础上,进一步采用精确的算术技术(Fang等人,2003年),可能会对算法中的定点误差行为和传播有更深入的了解。在这项工作的基础上,研究更内在的并行算法(如FPGA上的并行循环缩减)的性能也很有意义。参考Barnes C,Tran B,Leung S(1985)关于定点舍入误差的统计。声学、语音和信号处理,IEEE交易记录33(3):595–606 Chatziparaskevas G,Kienhuis B,Walters J(2012)基于FPGA的并行处理器,用于Black-Scholes期权定价,使用有限差分方案。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-31 05:29