首页 > 技术 > 内容

FPGA版通用图形处理架构创新解决方案

时间:2026-01-27  作者:Diven  阅读:0

介绍

“互联网上的整个电子商务世界都是由图形分析驱动的”,因为图形结构可以自然地代表许多重要应用领域的数据集,例如社交网络、网络安全和机器学习。在当前的时代,图形结构呈指数级增长,这就导致了这些应用程序的数据对高性能图形处理产生了迫切的需求。

目前,基于 FPGA 的图形处理加速器的仍在被大量研究;高级图形应用程序与底层CPU-FPGA平台之间仍然存在差距,这需要开发人员了解硬件细节并花费大量精力进行编程(例如使用硬件描述语言编程和进行内存优化)。这一差距在很大程度上阻碍了数据中心应用程序开发人员采用 FPGA。

主角-ThunderGP

ThunderGP 通过为 FPGA 加速图形处理带来性能和可编程性来弥补上述差距。

ThunderGP是基于HLS的开源通用图形处理框架,支持Vitis和SDACcel开发环境,适用于U50、U200、U250和VCU1525等Xilinx Alveo平台(官方开发板)。借助 ThunderGP,开发人员只需编写与硬件无关的基于显式高级语言 (C++) 的 API 的高级函数即可使用FPGA强大的并行处理能力。ThunderGP 在具有多个SLR 的先进 FPGA 平台上自动生成高性能加速器,并管理加速器的部署。

图1:ThunderGP 概述。与 Vitis 和 SDACcel 工具兼容。

ThunderGP 的概述如图 1 所示。我们简要说明主要模块如下:

内置加速器模板。ThunderGP采用Gather-Apply-Scatter(GAS)模型作为各种图算法的抽象,并通过内置的高度并行和高效的内存加速器模板来实现该模型。

自动加速器生成。自动加速器产生可综合的加速器,释放底层 FPGA 平台的全部潜力。除了内置加速器模板之外,还采用图形算法和 FPGA 平台模型(例如 U50)的分散、聚集和应用阶段(来自 GAS 模型)来自开发人员作为输入的用户定义函数 (UDF) 。

图形划分和调度。ThunderGP采用基于目标顶点的垂直分区方法,无需引入边缘排序等繁重的预处理操作,即可通过片上RAM实现顶点缓冲。

高级API。ThunderGP 提供了两套基于 C++ 的 API:用于定制图算法加速器的加速器 API(Acc-API)和用于加速器部署和执行的 Host-API。

有关GAS模型、API以及ThunderGP设计的详细信息,请参考ThunderGP技术报告(附件或GitHub上)。

https://github.com/Xtra-CoMPUting/ThunderGP/blob/develop_u50/docs/ThunderGP_technICal_report.pdf

ThunderGP 有多易用?

我们进行了一个案例研究 - 使用 Vitis 2020.1 对 Alveo U50 板上的 COVID-19 进行预测 - 演示如何将 ThunderGP 轻松应用于现实生活中的图形处理问题。

及时预测人口水平随时间变化的感染流行率对于采取适当的封锁措施(例如隔离或保持社交距离)减轻病毒的传播具有重要作用。目前的传播预测模型一般由空间元胞自动机(CA)和时间易感感染去除(SIR)模型组成,其中元胞代表一个居住区(例如县)并维持其状态(例如感染率), SIR模型根据相邻小区之间的传输来更新。传播可以表述为图形处理问题, SIR 通过图中的传播进行更新。

我们使用 ThunderGP 实现了三种传播模型:CA-SIR [1]、CA-SEIR [2] 和 CA-SAIR [3] 模型。该数据集来自 COVID-19 影响分析平台 [4],包含 3100 个县和 230 万个连接。

在这里,我们展示了清单 1 中为 CA-SAIR 模型实现加速器的示例。在分散阶段,每个县(小区)根据其感染率和连接强度计算感染率并推送到邻近县量化了县际流动的数量和频率。在收集阶段,该县会累积推送给所有感染率。在应用阶段,收集的感染率用于计算感染率。需要注意的是,apply阶段涉及到很多用户自定义的参数(ThunderGP支持apply阶段的用户自定义参数,详细内容参见技术报告)。

50平台上用于加速COVID-19传播预测的用户输入。

图 2 显示了使用公共数据集进行预测一周后感染风险的可视化情况。结果与CPU端执行的开源Python程序[3]相符。

表 1 量化了 ThunderGP 在该任务中所涉及的开发工作,并显示了与基于 Python 的 CPU 实现的性能比较[3]。根据结果,使用 ThunderGP 解决此问题的好处是双重的。ThunderGP比基于 CPU 的解决方案实现了高达419 倍的加速。能够在短时间内预测传播情况有助于对传播情况做出快速、及时的反应。随着对病毒了解的不断深入,CA-SIR模型正在快速发展。使用ThunderGP,开发人员通常只需编写数十行代码即可加速预测一天,从而最大程度地减少了开发工作量。

[1] MA Fuentes et al. PhysICa A: Statistical Mechanics and its Applications, 1999.

[2] José M Carcione et al. A simulation of a covid-19 epidemic based on a deterministic seir model. arXiv, 2020.

[3] Yiwang Zhou et al. A spatiotemporal epidemiological prediction model to inform county-level covid-19 risk in the united states. Harvard Data Science Review, 2020.

[4] University of Maryland COVID-19 Impact Analysis Platform. https://data.covid.umd.edu, 2020-09-10.

审核编辑:黄飞

 

猜您喜欢


电解电容是电子产品中重要的元件。的工作原理和性能,受到电解液的影响。电解电容纸浸过电解液,原因有很多。本文将详细探讨这个问题。增加电容值电解电容纸浸泡后,可以提...
2025-03-20 02:30:02
防坠落设备在现代工业和建筑领域中是非常重要的配件,确保工作人员的安全。在建筑施工现场,工人常常需要在高处作业,防坠落设备如安全带和安全绳能有效防止意外坠落。在电...
2018-08-17 00:00:00
SIP13(SessionInitiationProtocol13)是一个在现代通信中扮演重要角色的协议,它用于在网络中发起、维护和终止实时会话。随着互联网技术...
2025-02-24 15:24:35
随着电子技术的不断发展,电阻测量在电子元件检测、仪器校准和工业控制等领域中是重要配件。高精度电阻测量模块作为实现精准测量的关键设备,受到了关注。本文将从多个方面...
2025-11-05 17:00:05
这里发布的 DIY 项目是使用 IC555 和 TCRT5000模块的光电反射传感器。这些传感器是光电传感器,这意味着它们依赖于光或光,不需要与任何其他物体接触...
2024-02-25 16:22:00
本文主要介绍MIPI D-PHY在FPGA上的实现。随着camera和显示技术的发展,MIPI接口在实际运用中越来越广泛,MIPI接口协议层主要包括CSI和D...
2022-10-08 09:42:00
单光子血崩二极管(Single Photon Avalanche Diode,SPAD)是高灵敏度的光电探测器,能够在极低光强条件下探测单个光子。近年来,随着量...
2025-04-10 04:00:37
接近传感器和接近开关在现代工业和日常生活中是重要配件。主要用于自动化设备中,能够精准地检测物体的存在与否,从而实现高效的控制和管理。在制造业,接近传感器被应用于...
2014-09-16 00:00:00
铝单板是以铝合金为主要材料的建筑装饰板,应用于建筑外立面、室内墙面和天花板等领域。由铝板经过专业加工而成,具有轻质、高强度和耐腐蚀等优点。铝单板的表面可以进行多...
2012-10-11 00:00:00
贴片电阻在电子电路中是很重要的配件,主要作用是限制电流的流动,并根据欧姆定律(V=IR)在电路中产生电压降。应用于各种电子设备,从手机和电脑到家用电器和工业控制...
2024-11-29 10:26:23