Politecnico di Milano
利用 SDAccel 开发 FPGA 加速云应用:理论
Politecnico di Milano

利用 SDAccel 开发 FPGA 加速云应用:理论

4,139 人已注册

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
4.7

(77 条评论)

中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
4.7

(77 条评论)

中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • 如何利用 SDAccel 开发 FPGA 加速应用的理论。

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

7 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有6个模块

从 20 世纪 80 年代中期开始,由于 FPGA 技术的进步,可重构计算成为一个热门领域。FPGA 是一种半导体器件,包含可编程逻辑元件和可编程互连,但在运行时没有指令获取,也就是说,FPGA 没有程序计数器。在大多数 FPGA 中,逻辑元件可通过编程复制基本逻辑门或功能性知识产权(IP)的功能。FPGA 还包括由简单触发器或更复杂的存储器块组成的存储器元件。因此,FPGA 使在单个芯片上动态执行和配置硬件和软件成为可能。本模块详细介绍了 FPGA 技术,从总体描述到这些器件的底层配置细节讨论,再到位流组成和配置寄存器的描述。

涵盖的内容

9个视频2个作业

赛灵思 SDAccel 开发环境允许用户用 OpenCL C、C++ 和 RTL(例如 SystemVerilog、Verilog 或 VHDL)表达内核,以便在赛灵思可编程平台上运行。可编程平台由以下部分组成:(1) SDAccel Xilinx 开放代码编译器 (XOCC);(2) 描述硬件平台的设备支持档案 (DSA);(3) 软件平台;(4) 加速器板;5 最后但并非最不重要的是 SDAccel OpenCL 运行时。在本模块中,在介绍 OpenCL 之后,我们将了解该语言是如何应用于 SDAccel 以及该工具链的主要 "组件"。

涵盖的内容

7个视频1篇阅读材料1个作业

在本模块中,在进行优化之前,我们将首先从计算的角度了解 FPGA 是如何工作的。虽然传统的 FPGA 设计流程更类似于普通集成电路而非处理器,但与集成电路的开发工作相比,FPGA 具有显著的成本优势,并且在大多数情况下具有相同的性能水平。与集成电路相比,FPGA 的另一个优势在于其动态重新配置的能力。这一过程与在处理器中加载程序相同,可影响 FPGA 结构中的部分或全部可用资源。与处理器架构相比,组成 FPGA 结构的结构可实现应用执行的高度并行性。SDAccel 为 OpenCL 内核生成的定制处理架构提供了不同的执行模式。在决定将应用程序从处理器移植到 FPGA 时,必须考虑到这一点。为了更好地理解这种情况,我们将简要比较处理器的顺序执行与 FPGA 实现的内在并行性。 此外,在本模块中,我们还将熟悉应用优化流程。赛灵思 SDAccel 环境是一个完整的软件开发环境,用于创建、编译和优化 OpenCL 应用程序,目的是在赛灵思 FPGA 上进行加速。从设计者的角度来看,我们可以将在 SDAccel 环境中优化应用程序的流程分为三个阶段。这三个阶段是(1) 优化功能和性能;(2) 优化数据移动;(3) 优化内核计算。

涵盖的内容

5个视频1篇阅读材料1个作业

在本模块中,我们将鸟瞰可用的 SDAccel 优化方法。 所介绍的优化方法并非唯一可用的优化方法,它们更像是一份优化 OpenCL 应用程序性能的建议列表,可作为考虑或进一步研究的出发点。在此背景下,我们将把这些 "建议 "分为三组优化:(1) 算术优化,(2) 数据相关优化,以及 (3) 内存相关优化。

涵盖的内容

6个视频2篇阅读材料1个作业

在对可能的优化方法进行总体描述后,我们将在本模块中重点讨论四种具体的优化方法:(1) 循环解卷;(2) 循环流水线;(3) 数组分区;(4) 主机优化。首先,我们将介绍循环展开,即展开循环迭代,从而减少循环迭代次数,让循环体执行额外计算。这种技术可以暴露出额外的指令级并行性,Vivado HLS 可以利用这种并行性来实现最终的硬件设计。之后,我们将介绍循环流水线优化,将循环迭代的顺序执行转变为流水线执行,其中循环迭代在时间上重叠。之后,我们将介绍数组分区优化,它可以优化 BRAM 资源的使用,从而提高内核的性能。最后,在本模块的最后,我们将讨论与主机系统相关的优化,主机系统负责将数据传输到 FPGA 板或从 FPGA 板传输数据,以及发送启动内核执行的命令。

涵盖的内容

6个视频2篇阅读材料1个作业

涵盖的内容

3个视频1篇阅读材料1个作业

位教师

授课教师评分
4.5 (16个评价)
Marco Domenico Santambrogio
Politecnico di Milano
5 门课程23,759 名学生

提供方

从 设计与产品 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.7

77 条评论

  • 5 stars

    76.62%

  • 4 stars

    22.07%

  • 3 stars

    0%

  • 2 stars

    1.29%

  • 1 star

    0%

显示 3/77 个

YI
4

已于 Mar 23, 2020审阅

MM
5

已于 Jan 16, 2020审阅

SA
5

已于 Jul 25, 2020审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题