王中王开奖结果

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

发布日期:2021-01-01 04:24   来源:未知   阅读:

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

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

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

FPGA的定义以及和GPU的类比

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

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

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

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

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

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

这里能够用 GPU 做类比。

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

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

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

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

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

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

甚至 RTL 专家可能也无法信任 Verilog 是可以高效开发主流 FPGA 的方法。它不会把编程逻辑推向主流。对教训丰盛的硬件黑客来说,RTL 设计仿佛是友爱而熟习的,但它与软件语言之间的出产力差距是不可估计的。

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

Power by DedeCms