FPGA难懂?实在与GPU类比一下就清楚了

发布日期:2021-01-03 03:52   来源:未知   阅读:

这两种实例在编程、编译器和抽象方面存在伟大差别。我比拟关注后者,我将其称为「计算 FPGA 编程」(computaTIonal FPGA programming)。我的论点是,目前计算 FPGA 的编程方式都鉴戒了传统的电路仿真编程模型,这是不对的。 如果你想开发 ASIC 原型的话,Verilog 和 VHDL 都是准确的抉择。但如果目标是计算的话,我们可以也应该重新思考整个堆栈。

把 Verilog 当做 ISA 的问题是它和硬件之间的间隔太远了。RTL 和 FPGA 硬件之间的抽象差距是宏大的,从传统角度讲它至少要包括合成、技巧映射以及布局布线??每一个都是庞杂而迟缓的进程。因而,FPGA 上 RTL 编程的编译/编纂/运行周期需要数小时或数天, 更蹩脚的是,这是一个无奈猜测的过程,工具链的深层堆栈可能会掩饰 RTL 中的转变,这可能会影响设计机能和能源特征。

从字面上讲这种说法并错误,由于你并不需要重连(rewire)FPGA,它实际上是一个通过路由网络(routing network)连接的查找表 2D 网格,以及一些算术单元和内存。FPGA 可以模拟任意电路,但它们实际上只是在模拟,就像软件电路仿真器模拟电路一样。这个谜底不适当的处所在于,它过火简化了人们实际使用 FPGA 的方法。接下来的两个定义能更好地描写 FPGA。

这是与 ASIC 原型设计不同的个用例。和电路仿真不同,计算加速是 FPGA 的新兴用例。这也是微软最近胜利加速搜寻和深度神经网络的原因。而且症结的是,计算实例并不依附于 FPGA 和真正 ASIC 之间的关联:开发职员针对基于 FPGA 的加速编写的 Verilog 代码不需要与用来流片的 Verilog 代码有任何的类似性。

在深度学习和区块链风行之前,有一段时光 GPU 是用来处置图形的。在 21 世纪初,人们意识到他们在处理没有图形数据的计算密集型义务时,也会大批使用 GPU 作为加速器:GPU 设计师们已经构建了更通用的机器,3D 渲染只是其中一个运用罢了。

假如计算 FPGA 是特定类算法模式的加速器,那当前的 FPGA 并不能幻想地实现这一目的。在这个游戏规则下可能击败 FPGA 的新硬件类型,才可能带来全新的抽象层次结构。新的软件栈应当摒弃 FPGA 在电路仿真方面的遗留问题,以及 RTL 抽象。

我以为计算 FPGA 正处于相似的改变中,现在还不针对 FPGA 善于的基础计算模式的简练描述。但它和潜在的不规矩并行性、数据重用以及大多数静态的数据流有关。

电路模仿是 FPGA 的经典主流用例,这也是 FPGA 最早呈现的起因。FPGA 的要害在于硬件设计是用 HDL 情势编码的,而且买一些廉价的硬件就可以得到跟 ASIC 相同的后果。当然,你不可能在 FPGA 和真正的芯片上使用完整雷同的 Verilog 代码,但至少它们的形象范畴是一样的。

计算 FPGA 遵守了相同的轨迹。咱们的主意是要多多使用这一时髦的硬件,当然不是为了电路仿真,而是应用合适电路履行的计算模式,用类比的形式来看 GPU 和 FPGA。

事实上,对当初的盘算 FPGA 来说,Verilog 实际上就是 ISA。重要的 FPGA 供应商工具链会将 Verilog 作为输入,而高等语言的编译器则将 Verilog 作为输出。供给商个别会对照特流格局保密,因此 Verilog 在抽象档次构造中会处于尽可能低的地位。

FPGA 是一堆晶体管,你可以把它们衔接(wire up)起来做出任何你想要的电路。它就像一个纳米级面包板。应用 FPGA 就像芯片流片,然而你只要要买这一张芯片就能够搭建不一样的设计,作为交流,你须要付出一些效力上的代价。

让我们单刀直入地说吧。FPGA 是一类很特殊的硬件,它用来高效执行模拟电路描述的特别软件。FPGA 配置需要一些底层软件??它是为了 ISA 编写的程序。

和 GPU 一样,FPGA 也需要可以体现这种计算模式的硬件抽象,Verilog 用于计算 FPGA 的问题在于它在低级硬件抽象中效果不好,在高级编程抽象中的效果也不好。让我们通过反证法设想一下,如果用 RTL(存放器传输级)代替这些角色会是什么样,福禄寿高手心水论坛

好的 ISA 应该直接展现底层硬件未经润饰的实在情形。像汇编语言样,它实在不需要很便利编程。但也像汇编语言样,它的编译速度需要十分快,而且成果可预测。如果想要构建更高级的抽象和编译器,就需要个不会涌现意外的初级目标。而 RTL 不是这样的目标。

FPGA的定义以及和GPU的类比

这里可以用 GPU 做类比。

明资料确认版权并支付稿酬或者删除内容。

甚至 RTL 专家可能也无法信任 Verilog 是可以高效开发主流 FPGA 的方式。它不会把编程逻辑推向主流。对教训丰盛的硬件黑客来说,RTL 设计仿佛是友爱而熟习的,但它与软件语言之间的出产力差距是不可估计的,tk335四海图库开奖结果全方位助力!巴中城管“绣”出城市新形象

为了让 GPU 发展成今天的数据并行加速器,人们不得不从新定义 GPU 输入的概念。我们从前经常认为 GPU 接收独特的、强烈的、特定范畴的视觉效果描述。我们实现了 GPU 执行程序,从而解锁了它们真正的潜力。这样的实现让 GPU 的目标从单个利用域发展为全部计算域。

Power by DedeCms