专用筛法硬件:512位数字分解的高效解决方案
1. 筛法流程与数据处理
在筛法过程中,当满足 ok0||r0 < ok1||r1 条件时,根据预期的最大“命中”数,部分处理单元会将其 (p, r, i, ok) 值并行写入输出缓冲区。由于在长度为 S 的子区间内预期命中数极少,这一步骤可简化:
1. 按上述顺序对列进行排序。
2. 大概率所有标记的三元组会位于前几行(对于512位数字,约为4行)。
3. 对这前几行从左到右排序,然后将它们写入输出缓冲区,可能并行写入多行。
输出结果将作为后续更精确平滑性测试的基础。当第一个子区间 [−A, ..., −A + S −1] 筛完后,为进入下一个子区间,每个处理单元需将其 r 值调整为新筛子区间的起始值 −A + S 。这可通过简单的“局部”计算完成,无需向网格加载新数据,因为处理的所有素数都大于筛区间长度 S 。具体操作如下:
每个处理单元执行操作:将 r 替换为 r − S ,若 r − S < 0 则加上素数 p 。
完成此操作后,处理单元就像回到步骤 (I) 之前的状态,但已为筛以 −A + S 起始、长度为 S 的区间做好初始化。因此,可再次应用步骤 (I) - (VIII),持续此过程,直
专用筛法硬件:512位数字分解方案
超级会员免费看
订阅专栏 解锁全文
1014

被折叠的 条评论
为什么被折叠?



