

在数据中心提供的具有FPGA(现场促进门阵列)具有新的和令人兴奋的计算模型的巨大潜力。但是,要使这个新兴的生态系统蓬勃发展,我们需要基础架构来为这些平台开发自定义硬件加速器,并将它们与Web应用程序和云基础架构集成在一起。第一个CLAAS框架将云FPGA带入了开源社区,初创企业和所有人的范围。
此读数提供了该项目的概述。也可以使用以下文档。读取我之后,开始手工开始。
用于本地发展:
使用Xilinx工具使用AWS F1优化和部署自定义内核。

使用第一个claas,您可以使用标准Web协议(WebSockets或REST)直接从自定义的FPGA内核流式传输位。在最简单的用例中,所有软件都是Web浏览器中的客户端,并且在FPGA中实现了所有服务器逻辑和数据存储。您的内核使用一个非常简单的接口来流传输数据,并且可以在Verilog(或可编译到Verilog的任何语言)中开发。
第1个claas是在计算限制但耐受性延迟和频段的硬件中实现功能的理想选择。需要更复杂的职责分区的应用程序可以将主机C ++代码或Python Web服务器扩展到处理Web应用程序和FPGA之间的数据。
可能的应用程序域可能包括:
您的申请可能是:
第1个claas使用Linux上的免费和开源工具(当前Ubuntu和CentOS)支持硬件内核开发。目前,部署针对亚马逊的F1 FPGA实例。我们欢迎将第一块列表扩展到其他平台和操作系统的贡献。
使用此框架的硬件加速应用程序包括:

数据是从Web客户端应用程序中传输的,该应用程序(当前)为512位。 JavaScript调用发送方法,并在回调中从自定义内核接收数据。自定义内核具有一个简单的流界接口,其中有512位输入数据和512位总线用于输出数据。来自JavaScript的数据传播:
沟通性能不是目前的重点。非常适合此体系结构的应用程序本质上是限制的,因此优化通信通常不重要,但是可以根据需要进行优化实现。
在简单的情况下,您仅在上图中提供绿色组件,并且数据的所有自定义处理均由自定义内核执行。但是C ++/OpenCL主机应用程序和/或Python Web服务器可以根据需要扩展。
在此项目之前,将FPGA硬件加速与Web和Cloud应用程序集成为一项艰巨的任务:
通过提供Web服务器,主机应用程序代码和内核Shell Logic来流式传输Web应用程序和FPGA内核之间的数据,以及自动化云实例创建和配置,第一claas将您的工作减少到:
[CC BY-SA 2.0,Lumaxart,修改]
基础设施开发的开销从几个月降低到几个小时。
专门查看Amazon F1平台,F1以每次使用付费提供了功能强大的Xilinx FPGA和Xilinx开发工具,这是非常引人注目的。但是该平台是出血的优势,需要大量的专业知识才能利用。我们在这个平台上的经验是一个相当痛苦的(有些昂贵)的,原因是几个:
我们必须经历这种痛苦,但是我们捆绑了工作,所以您不必这样做。
为了进一步简化开发,降低成本并避免对F1平台和Xilinx工具堆栈的任何依赖,我们支持使用Verilator开源RTL Simulator使用RTL仿真的本地机器上的开发。 AWS和Xilinx工具仅用于内核优化和部署。作为额外的奖励,Verilator模拟比使用Xilinx“硬件仿真流”更快地运行(〜100x?!),部分原因是Verilator快速而部分,部分是因为我们仅模拟自定义内核,而不包括周围围绕kernel的外壳逻辑。
将问题减少到Web和RTL开发并不是我们的终点线。第一个块是重新定义硅行业并将硅带入大众的更广泛努力的一部分。摆脱RTL建模的复杂性是其中的一部分。第1块与Redwood Eda联合的TL-Verilog的狂热支持者驱动。 TL-Verilog引入了急需的数字电路设计方法论,并具有更简单,更强大的建模结构。第一块claas绝不与TL-Verilog绑在一起。您可以使用Verilog/SystemVerilog或任何可以变成Verilog的硬件说明语言。但是TL-Verilog lnguage扩展是开箱即用的,我们强烈鼓励您利用它们,并帮助我们推动这项创新前进。 Redwood EDA在Makerchip.com上提供了免费的在线IDE,用于TL-Verilog开发。您可以在IDE中找到培训材料。阅读Redwood Eda创始人史蒂夫·胡佛(Steve Hoover)的更完整的故事。
在商业上,第一块claas由吞噬器,Inc。使用,以提供流数据的动态分类。
第1个claas为fractalvalley.net提供实时分形。
这个存储库通常是在工作,最初的开发推动正在结束。
目前,任何事物和所有内容都可能会发生变化,尤其是关于框架提供的框架以供应用程序构建的界面。因此,您应该以特定版本的框架构建,并期望如果您选择通过从Master提取升级来进行一些调试。
嗯...我们还没有考虑太多。只要说些好话,我们会很高兴的。
该存储库中引用的所有商标都是其各自所有者的财产。