通用图形处理架构-FPGA版

这篇具有很好参考价值的文章主要介绍了通用图形处理架构-FPGA版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通用图形处理架构-FPGA版,fpga开发

介绍

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

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

主角-ThunderGP

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

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

通用图形处理架构-FPGA版,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阶段的用户自定义参数,详细内容参见技术报告)。

通用图形处理架构-FPGA版,fpga开发50平台上用于加速COVID-19传播预测的用户输入。

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

通用图形处理架构-FPGA版,fpga开发

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

通用图形处理架构-FPGA版,fpga开发

[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.

享用ThunderGP!

在 GitHub 存储库中提供了使用 ThunderGP 的分步指南。

对于第一级使用,我们为仅需要内置图形处理算法的用户编写了指南。

对于第二个层次的使用,我们引导用户通过系统提供的API来定制适合自己应用的加速器。

README 中有详细说明:

https://github.com/Xtra-Computing/ThunderGP/tree/develop_u50。

开源链接

https://github.com/Xtra-Computing/ThunderGP文章来源地址https://www.toymoban.com/news/detail-856809.html

到了这里,关于通用图形处理架构-FPGA版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EasyX---快速入门---(二)图形处理/鼠标、键盘消息/其他

    导图版本   图形处理函数(用于在窗口显示图片) 使用图像之前,需要定义一个变量(对象),然后把图片加载进变量才能使用 使用EasyX提供的类型:IMAGE img; loadimage(IMAGE*pDstlmg,LPCTSTR plmgFile,int nWidth=0,int nHeight=0,bool bResize=false);从文件中读取图像 pDstlmg 保存图像的IMAGE对象指针

    2024年02月10日
    浏览(30)
  • MATLAB 之 隐函数绘图、图形修饰处理、图像处理与动画制作和交互式绘图工具

    如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算出函数向量,从而用 plot 、 plot3 等函数绘制出图形。 但如果函数用隐函数形式给出,则很难用上述方法绘制出图形。对此,MATLAB 提供了一些函数用来绘制隐函数图形。 隐函数二维绘图采用 ezplot 函数

    2024年02月07日
    浏览(33)
  • 毕业设计-基于 MATLAB 的图形图像处理系统的设计与实现

    目录 前言 课题背景和意义 实现技术思路 一、数字图像处理软件 MATLAB 简介 二、 系统的具体实现  实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求

    2024年02月04日
    浏览(46)
  • 计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

    1、显示图像 ①功能:在指定窗口中显示图像。 ②参数: name 为窗口的名字; image 为待显示的图像。 ③说明:可显示彩色或灰度的字节图像和浮点数图像,彩色图像数据按BGR顺序存储。 2、读入图像 ①功能:从指定文件读入图像。 ②参数: filename 为图像文件名,支持BMP、

    2024年02月03日
    浏览(37)
  • 【opencv+图像处理】Image Processing in OpenCV 1-2基本图形绘制

    🍉 博主微信 cvxiayixiao 🍓 【Segment Anything Model】计算机视觉检测分割任务专栏。 链接 🍑 【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接 🍈 【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接 本专栏代码地址

    2024年02月08日
    浏览(32)
  • 用VS2019图形学安装openGL库的详细步骤以及报错处理

    链接:https://pan.baidu.com/s/1F1gmz9a2uJ5FShRccZRqZw  提取码:lyzz 将文件保存下来放在新建的一个文件夹内,建议不要放在C盘上。然后将文件解压,可以看到如下五个文件: 1文件glut.h放在下面路径中: 在目录C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.29.30037includ

    2024年02月04日
    浏览(40)
  • 深入理解图形处理器(GPU):加速人工智能和大数据计算的引擎

    前言: 图形处理器(GPU)不再仅仅是用于图形渲染的硬件设备。如今,GPU已经成为加速人工智能、大数据计算和科学研究的关键引擎。本文将深入探讨GPU的工作原理、应用领域以及它在当今技术领域中的重要性。 GPU(Graphics processing unit)是一种专门设计用于处理图形和图像

    2024年04月15日
    浏览(35)
  • Python自动处理pptx:新建、另存、添加幻灯片、添加标题、插入文本图片图形、提取文本

    Python-pptx库是一个用于创建、更新和读取Microsoft PowerPoint .pptx 文件的Python库。它允许我们使用Python脚本自动化PowerPoint文件的创建、更新和读取操作,是一个非常方便自动化处理PPTX的工具。 https://python-pptx.readthedocs.io/en/latest/index.html

    2024年02月08日
    浏览(37)
  • 【老生谈算法】基于matlab时域频域处理的语音信号变声处理系统设计与算法原理(论文+程序源码+GUI图形用户界面)——变声算法

    大家好,今天给大家介绍基于matlab的语音信号变声处理系统设计与算法原理(论文+程序源码)。 运用matlab软件实现对声音的变声处理,利用离散付里叶变换进行频谱分析;设计数字滤波器组;通过时域和频域方法做出各种音效效果,实现变速(慢放、快放),变调(频谱左

    2024年02月04日
    浏览(46)
  • CAD处理控件Aspose.CAD功能演示:在 C#中以编程方式搜索 DWG 图形文件中的文本

    Aspose.CAD 是一个独立的类库,以加强 Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose API支持流行文件格式处理,并

    2024年02月04日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包