使用AVX-2的[32-1024位定点矢量算法

问题描述 投票:0回答:1

对于mandelbrot生成器,当您放大时,我想使用定点算术,范围从32到1024位。

现在普通的SSE或AVX在这里没有帮助,因为缺少带进位的加法运算,并且进行普通的整数运算会更快。但就我而言,我实际上有数百万个像素,需要全部计算。因此,我有一个巨大的值向量,所有这些值都需要经过一百万次以上的相同迭代公式。

因此,我不是在针对单个值进行定点加/减/ mul,而是针对庞大的向量进行此处理。我的希望是,尽管缺少带有进位的本机加法,但对于此类矢量操作,AVX / AVX2仍可用于提高性能。

任何人都知道在矢量或某些示例代码上进行定点运算的库,如何通过随身AVX / AVX2进行加法仿真。

对于mandelbrot生成器,当您放大时,我想使用定点算法,范围从32到1024位。现在,由于缺少带进位和执行加法功能,因此正常情况下,SSE或AVX在这里没有帮助...

biginteger avx fixed-point avx2
1个回答
0
投票

FP扩展精度可在每个时钟周期提供更多位(因为double FMA吞吐量为2 /时钟,而32x32 => 64位在Intel CPU上为1或2 /时钟);考虑使用Prime95与FMA用于整数数学的相同技巧。小心使用FPU硬件进行位精确整数运算是可能的。

© www.soinside.com 2019 - 2024. All rights reserved.