系统与设计
的意见

一个更简单的途径更快的C和fpga

使用fpga来优化高性能计算,没有专业知识。

受欢迎程度

对于大多数科学家,在高性能计算平台是一个谜。他们通常想知道的是,一个平台将运行一个先进的算法。当一个主题专家创建一个强大的模型的算法,进而自动生成C代码运行太慢?FPGA专家已经创建了一个答案。

越来越多的通用处理器中发现服务器级别的平台更优化的高性能计算(HPC)的挑战。高级算法如卷积神经网络(cnn),实时分析,高通量传感器融合迅速压倒性传统的硬件平台。在某些情况下,HPC开发人员转向gpu协同处理器和部署并行编程模式,但在一个巨大的成本增加能耗。

一个更有前途的工作负载优化方法使用大大减少电力使用fpga硬件加速。在早期的fpga,他们发现在信号处理任务的可重构计算引擎,技术是为了完整起见,前提是获得支持。挑战与FPGA技术在HPC社会一直是科学家如何没有硬件背景将他们最喜欢的算法转换为一个可重构平台。

中断
今天大多数主题专家首先制定系统级算法在MATLAB等建模工具。这是一个美妙的事情能够抓住高层方框图,状态图,和代码片段,拼凑一个数据流结构,像一个魅力在模拟运行。使用MATLAB编码器,可以从模型直接生成C代码,甚至带回墨西哥人的模型函数来加速模拟在许多情况下。MathWorks的人一直在努力工作为特定处理器优化自动生成代码,如利用英特尔集成性能原语。

墙上的规模和时间很快出现,然而。算法被证明在一个相对较小的测试数据集可以成为陷入困境时大量生产数据集。合理的执行时间通常在模拟爆炸为处理器和内存被咬,和整个高性能计算平台慢一个加重爬行试图跟上一个算法。花很多的钱在什么似乎是高性能硬件,任何项目经理想听的最后一件事就是他们需要更多的硬件来完成工作。

光滑设计流程突然中断。虽然有些算法vectorize,许多根本不一样,和更多的处理器核心可能不会帮助除非仔细多线程进行锻炼。平行GPU编程也不是一颗卑微的心。一种更有可能的情况是有一个临界段缓解系统瓶颈的C代码如果跑得更快。

从MATLAB模型和C代码的熟悉的领土附近地区的不熟悉的地区,RTL,阿喜,PCI Express周围一个FPGA是大多数科学家的很多要求。幸运的是,其他专家已经解决围绕着Xilinx工具堆栈问题技术,促进从FPGA-accelerated C代码的C代码。

高级合成为Virtex-7

Xilinx FPGA Virtex-7提供一个地址的环境的挑战将FPGA硬件与HPC主机平台。与一个大套可编程逻辑高性能互连,Virtex-7足够灵活,能够实现复杂算法。当部署在一个系统级的解决方案与一个可配置的PCI Express出数链接(在另一个Xilinx Kintex-7 FPGA实现),Virtex-7设备形成一个强大的加速度的基础平台。

powerful_acceleration_platform
背后的魔法盒标签”计算装置”?有几种方法从C FPGA-ready代码编译算法。一个这样的平台直接由Xilinx: Vivado高级合成。一个免费升级到Vivado HLx版本,Vivado HLS理解Virtex-7架构和接口和交付质量的结果(QoR)直接编译C, c++,和系统C。

一个典型的加速流动分区代码到一个主机应用程序运行在高性能计算平台上,和一个部分在一个FPGA加速度的C代码。分区是基于代码分析,识别区域的代码放入可执行时提供最大的好处FPGA硬件。这两个平台是通过串行总线连接,但通信链路只是解决方案的一部分,在这不久。

example_hpc_design_flow3
HLS解决方案,NEC CyberWorkBench。CyberWorkBench创造ASIC的解决方案,包括一个强大的行为合成器以及验证和调试工具。

同步和仿真
保持两个平台同步,阿喜的消息从端到端可以使用。接口,在PCI Express的混合体AXI吞吐量之间的主机和加速超过2 gb /秒。由于阿喜是一种常见的协议用于大多数Virtex-7知识产权(IP)块,这形成了一个自然的高带宽主机和Virtex-7之间的互连设备包括C-accelerated计算设备。一双Virtex-7设备也容易互连使用AXI如图所示。

这是相同的概念用于联合仿真,事件驱动的仿真分为软件模拟器和硬件加速的平台。通过一个简单的应用程序编程接口(API),调用从HPC主机应用程序可以执行重定向到Virtex-7加速C代码的实现。使用RTL模拟器等Aldec Riviera-PRO支持AXI总线功能模型(bfm),可以完全集成环境调试,验证,和控制。

虽然它可能对一个复杂的设计团队为这份工作带来工具,概念的目的是使简单的科学团队使用高性能计算平台集成。Aldec所做设计高性能的重任Virtex-7-based硬件和创建一个配置的软件堆栈的一切运行的解决方案。一旦解决方案是安装在HPC主机,配置的可编程序逻辑Virtex-7是自动完成的。不需要专业知识的fpga使用平台——科学家们简单地创建代码用C, hand-programmed或自动生成的。

HLS解决方案产生RTL可以直接托管在一个FPGA,实现好的结果通过自动化。不过,某些情况下需求注意的最后几个百分点RTL优化。拥有超过30年的经验,设计和优化FPGA系统,Aldec提供其RTL移植服务来实现最高的性能。科学家可以快速生成一个加速算法,然后把它交给Aldec RTL移植服务挤压各种优势从Xilinx FPGA的实现通过手工调整与亲密的知识架构和工具。

更少的压力,更多的成功
可重构计算平台用于需要大量的护理和喂养。今天的高性能fpga和高级合成工具继续进化。这些改进的性能接近手工编码的RTL能做什么——没有乏味的翻译从C到硬件原语。而不是一个孤注一掷的解决方案,C加速关键例程是一个简单路径允许一个高性能计算平台的好处和Xilinx Virtex-7平台组合。

Aldec HES-7平台和Proto-AXI软件以及Riviera-PRO模拟器已被证明在RTL设计fpga和asic。当完全集成和Xilinx Vivado HLS或NEC CyberWorkbench, C代码快速下降到适当的硬件加速。而不只是光秃秃的FPGA硬件,Aldec提供完整的运行时环境,工具,和咨询服务,以确保HPC项目成功。



留下一个回复


(注意:这个名字会显示公开)

Baidu