0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何区分RapidStream自动分区算法

科技绿洲 来源:SSDFans 作者:SSDFans 2022-05-25 10:02 次阅读

FPGA的布局布线软件向来跑得很慢。事实上,FPGA供应商已经花了很大的精力使其设计软件在多核处理器上运行得更快。

最近,在ACM的FPGA 2022会议上发表了一篇题为“RapidStream: FPGA HLS设计的并行物理实现”的论文,论文中描述了一种非常有趣的方法,通过FPGA设计软件推动HLS设计更快地运行在多核处理器上。

这篇论文由UCLA、AMD-Xilinx、根特大学和康奈尔大学的研究团队撰写,描述了RapidStream自动分区算法,将数据流设计分割成多个“island”,在划分的island之间插入“anchor regions”,然后通过anchor regions中的寄存器将每个island的信号连起来整合到整个设计中。

所有这些划分和拼接背后的目的是将HLS设计分割成小块,交付给现代服务器中的多个核心。这种策略已经有悠久的历史,现在被用于加速FPGA的开发。

这个过程有三个主要的HLS级约束:

1、非重叠分区——并行化不同island的物理实现;

2、流水线化的island间连接——每个island间连接都流水线化,以满足时序要求;

3、直接连接——每个island只能与相邻的island直接连接。当并行化设计布局布线时,这个约束是至关重要的。

(注意:这些约束与用于控制逻辑综合的各种约束完全不同,它处于一个更高的层次。)

RapidStream的开发者将数据流设计定义为一组并行处理元素(processing element,简称PE)和一组根据设计的数据流需求将PE连接起来的FIFO。PE内部可以很复杂,但只能通过FIFO接口与其他PE进行数据通信

如上所述,RapidStream将FPGA fabric划分为两种region:大小相同的region和在相邻region之间以窄列和行放置的anchor region。有趣的是,RapidStream似乎是专门为AMD-Xilinx Virtex UltraScale+ FPGA构建的,这是由FPGA chiplet(AMD-Xilinx语言中的超级逻辑区域,简称SLR)制成的2.5D器件。

poYBAGKNjhaAUxPIAAEoZSVbt0k599.png

这篇论文包含了几个描述RapidStream工作性能的图表。下图显示了在分区后,六种不同的数据流设计与没有分区的流水线/非流水线版本时钟速率的比较。

pYYBAGKNjh-AJRblAACQ8BvDUQM665.png

从上图可以看出,RapidStream比所有非流水线版本的时钟速率更高。这是意料之中的,因为流水线是FPGA时钟速度改进的核心。然而,六种情况中,有五种情况RapidStream的结果比相同设计的流水线RTL版本要好,这个结果要引起我们的注意。

下面是布局布线的时间结果对比:

poYBAGKNjiiANNsXAACO00o9gDE819.png

RapidStream的布局布线运行时间比未分区设计的结果要好得多。这是因为RapidStream可以将每个分区送给不同的处理器核心来布局布线。

虽然FPGA供应商试图让布局布线算法在多核处理器上工作得更快,但RapidStream的开发人员根据经验发现,如果FPGA设计没有分区,在超过两个处理器核心上运行AMD-Xilinx Vivado设计工具时并没有太大改善。

如果有读者正在用FPGA开发HLS设计——特别是AMD-Xilinx FPGA,那么应该会对RapidStream感兴趣。更细节的内容可以在GitHub上找到。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21307

    浏览量

    593113
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87587
  • 多核处理器
    +关注

    关注

    0

    文章

    107

    浏览量

    19741
收藏 人收藏

    评论

    相关推荐

    protues系统自动区分多个相同原件的问题

    当我们画原理图时,用到多个相同电阻,可以采用复制的方式,此时系统会自动加以区分。但是实际操作过程中,实现不了,不知怎么回事。
    发表于 04-01 14:46

    基于动态区分矩阵的属性约简算法

    在分析基于静态区分矩阵的属性约简算法基础上,提出一种基于动态区分矩阵的属性约简算法。该算法采用2种不同的
    发表于 04-09 08:41 16次下载

    基于外极线分区的动态立体匹配算法

    基于区域的立体匹配算法仅针对支撑窗内的灰度信息定义匹配代价函数,导致在弱(无)纹理区域采用WTA优化出现歧义性。该文在外极线分区的基础上,改用区域作为匹配基元,针对歧
    发表于 04-11 08:37 21次下载

    最佳集水分区模拟之研究

    本研究是以南投县水里溪集水区为研究对象,运用集水分区分析法来进行最佳集水分区之工作,以协助集水区管理策略的制定。为了提升集水区管理效率,必须进行集水分区之工作,而
    发表于 04-10 12:15 30次下载

    一种多核混合分区调度算法设计与实现

    一种多核混合分区调度算法设计与实现_郝继锋
    发表于 01-07 19:00 1次下载

    一种基于能量均衡的分区成链路由算法

    一种基于能量均衡的分区成链路由算法_潘琢金
    发表于 01-07 19:08 0次下载

    基于分区连通性恢复算法DCRA

    针对现有算法恢复分区连通性存在容错性差的问题,提出了分区双连通性恢复算法DCRA。该算法旨在网络中心区域构建骨干多边形,
    发表于 11-21 14:35 3次下载
    基于<b class='flag-5'>分区</b>连通性恢复<b class='flag-5'>算法</b>DCRA

    基于迭代填充的内存计算框架分区映射算法

    针对内存计算框架Spark在作业Shuffle阶段一次分区产生的数据倾斜问题,提出一种内存计算框架的迭代填充分区映射算法(IFPM)。首先,分析Spark作业的执行机制,建立作业效率模型和分区
    发表于 12-05 16:32 0次下载
    基于迭代填充的内存计算框架<b class='flag-5'>分区</b>映射<b class='flag-5'>算法</b>

    基于场景分区的随机潮流解析算法

    可再生能源在电力系统中的渗透率日益提高,随机因素的波动范围逐渐增大,这对常规半不变量法的精度带来了很大的挑战。文中提出一种基于场景分区的随机潮流新算法:首先,采用场景削减算法获取系统典型运行场景
    发表于 12-15 15:21 0次下载
    基于场景<b class='flag-5'>分区</b>的随机潮流解析<b class='flag-5'>算法</b>

    基于区分对象集的启发式属性约简算法

    基于正域的属性约简算法是利用下近似思想,仅考虑被正确区分样本数的约简算法。借鉴上近似的思想,利用邻域信息粒的概念定义了区分对象集,探讨了其基本性质,并提出了基于
    发表于 01-05 11:28 0次下载

    Spark渐进填充分区映射算法

    定义求解,设计了渐进填充分区映射算法(PFPM,progressive filling partitioning and mapping algorithm),通过扩展式分区和渐进填充映射,建立适应
    发表于 01-14 16:50 0次下载
    Spark渐进填充<b class='flag-5'>分区</b>映射<b class='flag-5'>算法</b>

    HIGHT算法的积分攻击

    对轻量级分组密码算法HIGHT在积分攻击方法下的安全性进行了研究。首先纠正了现有研究成果在构造区分器时的不当之处,重新构造了HIGHT算法的11轮积分区分器,并构造了相应高阶积分扩展下
    发表于 02-09 16:48 0次下载

    基于RC模型的多分区权值约简微博社区检测算法

    传统社区检测算法直接引入第三方算法会降低计算效率。为此,基于RC模型,设计多分区权值约简有限区间限定算法进行微博社区检测。研究微博社区发现RC模型,分析参数加权约简曲线性质,借鉴凸优
    发表于 11-16 18:06 16次下载
    基于RC模型的多<b class='flag-5'>分区</b>权值约简微博社区检测<b class='flag-5'>算法</b>

    LICi算法抵抗积分攻击的相关实验及分析

    为分析目前LiCi算法抵抗积分攻击的能力,利用基于比特的可分性质,结合MILP搜索工具对LiCi算法的积分区分器进行搜索。搜索得到最长轮数积分区分器为12轮积
    发表于 03-30 14:05 18次下载
    LICi<b class='flag-5'>算法</b>抵抗积分攻击的相关实验及分析

    基于向量分区和三维骨架化的CT图像算法

    基于向量分区和三维骨架化的CT图像算法
    发表于 06-25 15:19 22次下载