OpenCL FPGA 工具箱

宇宙飞船(OpenCL)

用于英特尔FPGA软件开发

支持英特尔OpenCL SDK的Arria 10和Stratix 10 FPGA卡的BSPs

概述

使用OpenCL进行FPGA开发,对于对FPGA开发知之甚少或一无所知的团队来说是完美的。它也是任何需要比传统HDL工作流程更快的周转的团队的解决方案。BittWare FPGA卡上的OpenCL带来了更大的开发者群体,可以利用我们产品提供的先进硬件。

BittWare提供了一系列基于英特尔FPGA的卡,采用Arria 10和Stratix 10器件,通过BittWare调整的板卡支持包(BSP)支持英特尔OpenCL SDK。

想知道您现有的基于CPU或GPU的应用是否能从FPGA加速中受益?我们可以执行一个基准测试来估计潜在的性能改进。请咨询我们的应用优化服务以开始行动。

OpenCL 支持仅限于配备 Intel Stratix 10 和 Arria 10 FPGA 的特定板卡。对于最新一代 FPGA(包括 Agilex)上的高级工具流,我们提供了 oneAPI(点击此处访问并了解支持的产品)。

英特尔 Stratix 10 徽章
英特尔 Arria 10 徽章

工具流的灵活性
用于基于软件或硬件的开发

  • 为面向软件的客户提供OpenCL支持
  • 为更快的发展而放弃
  • 用于FPGA可执行文件、驱动程序和API的按钮式流程
  • 将优化的HDL IP核作为库添加到OpenCL设计中

什么是OpenCL?

OpenCL软件语言

开放计算语言(OpenCL)标准是第一个开放的、免版税的、统一的编程模型,用于加速异构系统上的算法。OpenCL软件允许使用基于C语言的编程语言来开发不同平台的代码,如中央处理器(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)和现场可编程门阵列(FPGA)。

OpenCL工业标准使工程团队能够以基于FPGA技术的产品为目标,而不需要像硬件和固件工程师在HDL中编程时那样,必须要达到细节的水平。现有的CPU/GPU C或OpenCL代码可以用英特尔OpenCL软件开发工具包重新编译,并立即利用FPGA硬件资源。

在移植现有代码或开发新算法时,OpenCL软件是新标准,以减少基于FPGA的加速器产品的上市时间。

用OpenCL进行FPGA编程

OpenCL允许程序员通过在OpenCL代码中自动执行硬件级别的优化来构建一个专用的FPGA加速器。关键的FPGA功能和优势在语法中被抽象出来,程序员使用编译器来创建高度并行的应用程序。可重新配置的FPGA逻辑允许为硬件专用功能生成专用和优化的块。

历史上FPGA一直被用作整数算术加速器,Arria 10 FPGA系列现在还具有更高的FLOPS和专用浮点资源(高达1.5 TFLOPS),OpenCL软件可以无缝利用这些资源,使整个新的应用范围从FPGA中受益。

前几代FPGA加速器受限于其IO吞吐量或内存带宽,OpenCL软件开发工具包有助于平衡FPGA逻辑的高计算能力与IO的速度,通过OpenCL通道扩展实现高速的内核到内核和内核到IO的数据传输。

该通道功能与高度灵活的存储器配置相结合,内部和板载存储器可以以不同于GPU的方式定制,以适应应用的需要,这为BittWare FPGA加速器提供了平台,使其成为客户基础设施中的优化流计算节点。

OpenCL软件开发工具包使:

  • 数以千计的并行内核执行
  • 可配置的FPGA逻辑针对整数运算进行了优化
  • 新的专用浮点FPGA资源(高达1.5 TFLOPS)。
  • 可配置的本地和全局存储器
  • 内核到内核/内核到IO的高带宽通道
  • 低功率

英特尔工具流程

英特尔OpenCL SDK是为软件程序员提供的开发环境;FPGA设计方面的考虑被抽象出来,由编译器自动处理。该流程基于软件的调试和优化周期,在大部分应用已经设计和优化的情况下,FPGA编译只需要进行有限的几次。

  1. 仿真器来验证功能
  2. 为FPGA架构优化OpenCL-超过300项优化
    a.增加并行性
    b.确保流水线
    c.使用FPGA硬件资源
    d....
  3. 简介内核性能
  4. 编译到FPGA硬件目标

英特尔OpenCL SDK已全面投入生产,使程序员能够通过遵循简单的设计指南获得门级性能的OpenCL代码,并以最小的努力将内核代码移植到平台。OpenCL SDK是生产和部署FPGA加速器解决方案的最有效途径。

HDL与OpenCL的性能比较

CERN发表了一项研究结果,比较了在BittWare 385板上用HDL和OpenCL编程的两种算法。

更快的发展:2.5个月对2周

更容易开发:3,400行vs. 250行

类似的性能:35倍与26-30倍加速

CERN注意到,即使是具有HDL能力的团队使用OpenCL也有优势,因为较小的代码库更容易更新。两种方法的FPGA逻辑/DSP资源使用情况也是相当的。

资料来源:麻省理工学院HL-LHC研讨会的重建、触发和机器学习:麻省理工学院HL-LHC研讨会的重建、触发和机器学习 "FPGA作为重建的协处理器" 幻灯片19。

A10SA4 带褪色的竖排照片

董事会支持包

什么是BSP?

BittWare在基于FPGA的硬件和算法加速方面的专业知识集中在OpenCL板卡支持包中。BSP自动利用板载资源和FPGA底层资源,使程序员能够专注于算法而不是在FPGA中的物理实现。

BittWare的BSP产品是根据特定需求定制的。对于计算密集型应用,HPC BSPs最大限度地提高了FPGA的资源利用率。对于数据流加速,支持NETWORK Streams的MAC BSP提供了一个直接到FPGA结构的数据流,用于流中位操作。

英特尔的OpenCL SDK与BittWare的BSP相结合,可以使用新的OpenCL通道功能。通道是一种OpenCL结构,允许内核到内核或IO到内核的高带宽数据传输。这些OpenCL通道可以利用高带宽的FPGA结构本地存储器带宽。

全面整合的解决方案

BittWare具有OpenCL功能的FPGA加速器是一个完全集成的、可用于生产的解决方案。BSP可以从开发和运行系统的单一安装程序中安装和部署。BittWare还提供BSP调试套件,其中包括英特尔Quartus-II / OpenCL SDK许可证,供有需要的客户使用。

BittWare OpenCL BSP还包括一些功能,以方便生产系统的部署:

  • 电路板健康状态(功耗和温度)
  • 英特尔PCIe硬IP核(在工业标准系统中测试)。
  • 闪存恢复机制

我们还提供预装的、可直接使用的、包含所有软件和硬件的集成服务器。

HPC BSP

高性能计算BSP,或称HPC BSP,为用户算法提供更多的FPGA资源。

使用OpenCL SDK的功能,通过复制优化的OpenCL内核代码的多个并行实例,使FPGA结构的利用率最大化。

高带宽的内核对内核通道支持

典型应用:资源使用情况:
  • 加密
  • 压缩
  • 等等。
  • PCIe主机接口
  • 板载全局存储器缓冲器

定制的BSP

BittWare还可以根据你的具体需求开发定制的板卡支持包。BittWare FPGA加速器支持多种I/O协议。我们的FPGA加速器专家团队可以与您的企业合作,开发一个定制的板卡支持包。

加速器指标

与OpenCL兼容的BittWare FPGA加速器是基于三个FPGA系列:在选择适合其系统要求的FPGA加速器时,客户必须首先研究其算法在顶层的FPGA资源要求和FPGA加速器的能力。

BittWare提供了多种FPGA加速器和板卡支持包,以满足这些需求。以下章节描述了BittWare提供的BSP IP。

公制385395385A510T520N (L-Tile) (**)520N (H-Tile) (**)520N-MX (H-Tile)
主机到全局内存的带宽8通道PCIe 2.08通道PCIe 2.08通道PCIe 3.016通道PCIe 3.0(2x 8通道)16通道的PCIe 3.0 (*)16通道的PCIe 3.0 (*)16通道的PCIe 3.0 (*)
全局记忆深度2个4GB4x 8GB (*)高达2个4GB高达4x 4GB (*)4x 8GB4x 8GBHBM2 (*)
IO通道网络:2个10GbE MAC (MAC BSP)网络:4x 10GbE MAC (MAC BSP)板对板:2个40Gbps串行链接或网络:2个10GbE MAC(MAC BSP)。板对板:2个40Gbps的串行链接板对板:4x 40Gbps 串行链接板对板:4x 100Gbps 串行链接板对板:4x 100Gbps 串行链路(通过QSFP28s)。

(*) 查询可用性和细节
(**) 也与520C兼容,但没有板对板IO通道支持

我们的OpenCL经验

经验与创新

BittWare与英特尔在支持OpenCL SDK方面的合作是20年来促进FPGA高级语言编程经验的合理延续。了解客户的系统挑战并确定加速和优化客户应用的最佳方法是BittWare的DNA。

BittWare聚焦

BittWare认为基于FPGA的产品应该是:

  • 直观和易于使用
  • 灵活的
  • 生产准备
  • 易于部署
  • 集成在客户的系统中

我们相信OpenCL是为这些目标服务的,我们很高兴看到你的成功!

一个由系统加速专家组成的团队

在BittWare,我们组建了一支一流的设计和工程团队,可以与您一起确保项目的成功。当我们在早期开发阶段就与客户深入接触时,我们的工作效果最好,可以利用我们的多种学科,按时、按预算、按规格提供解决方案,并将风险降到最低。

BittWare设计服务的主要价值:

  • 降低风险
  • 降低成本
  • 更快进入市场的时间

BittWare的研发部门不断为行业的挑战提供新的解决方案。

预编译的AOCX

BittWare为英特尔实例网页上的所有实例设计提供预编译包。

浏览我们支持OpenCL的产品