标题详细信息

面向 OpenCL 专业版的英特尔® FPGA SDK

面向 OpenCL™ 专业版的英特尔® FPGA SDK 发行说明提供了有关面向 OpenCL™ 专业版的英特尔® FPGA 软件开发套件 (SDK) 和面向 OpenCL 专业版的英特尔® FPGA 运行时环境 (RTE) 的最新信息。

面向 OpenCL™ 的英特尔® FPGA SDK 入门指南

本指南介绍了面向 OpenCL 的英特尔® FPGA 软件开发套件 (SDK) 的安装程序。此外,本文档还包含有关如何使用面向 OpenCL 的英特尔 FPGA SDK 编译 OpenCL 应用示例的说明。

面向 OpenCL 的英特尔® FPGA RTE 用户入门指南

本指南介绍了安装 OpenCL 运行时环境 (RTE) 所要遵循的过程。此外,本文档还包含有关如何使用 RTE 部署一个 OpenCL 应用的说明。

面向 OpenCL 的英特尔® FPGA SDK 编程指南

本指南提供了有关面向 OpenCL 编译器和工具的英特尔® FPGA SDK 的描述、建议和使用信息。面向 OpenCL 的英特尔® FPGA SDK 是一个支持英特尔® FPGA 的基于 OpenCL™ 的异构并行编程环境。

面向 OpenCL 的英特尔® FPGA SDK 最佳实践指南

本指南提供了有关利用面向 OpenCL 的英特尔® FPGA SDK 的功能,来优化您用于英特尔® FPGA 的 OpenCL 应用程序的指南。

面向 OpenCL Cyclone® V SoC 的英特尔® FPGA SDK 入门指南

本指南介绍了面向 OpenCL 的英特尔® FPGA SDK 的设置和初次使用程序,可指导您在 Cyclone® V SoC 开发套件中运行一个 OpenCL 应用。

面向 OpenCL 的英特尔® FPGA SDK 定制平台工具套件用户指南

本指南简要介绍了创建一个面向 OpenCL 的英特尔® FPGA SDK 定制平台的程序。

面向 OpenCL Stratix® V 网络参考平台的英特尔® FPGA SDK 的移植指南

本指南介绍了将 Stratix® V 网络参考平台 (s5_net) 修改为您的自定义平台以搭配使用面向 OpenCL 的英特尔® FPGA SDK所需遵循的程序和设计注意事项。此外,本文档还包含有关 s5_net 设计决策的参考信息,有助于利用异构内存缓冲区和 I/O 通道等特性最大限度地提高网络专用计算卡的硬件使用率。

面向 OpenCL Cyclone V SoC 开发套件参考平台的英特尔® FPGA SDK 的移植指南

本指南介绍了搭配面向 OpenCL 的英特尔® FPGA SDK 使用的 Cyclone V SoC 开发套件参考平台 (c5soc) 的软硬件设计。

面向 OpenCL 的英特尔® FPGA SDK 英特尔® Arria® 10 GX FPGA 开发套件参考平台的移植指南

本指南介绍了搭配面向 OpenCL 的英特尔® FPGA SDK 使用的英特尔® Arria® 10 GX FPGA 开发套件参考平台 (a10_ref) 的软硬件设计。
面向 OpenCL 的英特尔® FPGA SDK 英特尔® Arria 10 SoC 开发套件参考平台的移植指南本指南介绍了搭配面向 OpenCL 的英特尔® FPGA SDK 使用的英特尔® Arria® 10 SoC 开发套件参考平台的软硬件设计。

面向 OpenCL 的英特尔® FPGA SDK 英特尔® Stratix® 10 GX 开发套件参考平台的移植指南

本指南介绍了搭配面向 OpenCL 的英特尔® FPGA SDK 使用的英特尔® Stratix® 10 GX 开发套件参考平台的软硬件设计。
标题详细信息
用于直接进行 FPGA 间通信的内核间链路本文介绍了内核间链路 (IKL),这是一种低延迟、高带宽的流协议和架构,具有内置的可靠性和用于直接 FPGA 间通信的控制流。 
流分析的嵌入式加速本文提出了一种实现 FPGA 嵌入式加速以进行流分析的方法。

借助 OpenCL™ 和 FPGA 加快基因组研究速度 (PDF)

本文介绍了借助使用面向 OpenCL 的英特尔® FPGA SDK 编程的英特尔® FPGA 加速 GATK 的 HaplotypeCaller 算法。

基于面向 GPU 程序员的 FPGA 的 OpenCL

本文重点介绍了在执行和优化 OpenCL 内核时使用英特尔® FPGA 的优势以及 FPGA 和 GPU 之间的差异。

使用 OpenCL 实现多功能打印机图像处理的 FPGA 加速 (PDF)

本文探讨了 OpenCL 在采用英特尔® SoC FPGA 的内核多功能打印机图像处理管道中的应用。

以 OpenCL™ 标准实施 FPGA 设计 (PDF)

本文着重介绍了与其他硬件架构和传统的 FPGA 开发方法相比,将 OpenCL™ 与英特尔® FPGA 一起使用的优势。

OpenCL™ 中的分形视频压缩:对 CPU、GPU 及 FPGA 作为加速平台进行评估 (PDF)

本文提出了 OpenCL™ 中分形压缩算法的实时实现。它显示了如何在 OpenCL™ 中有效地实现该算法,以及如何针对多 CPU、GPU 和 FPGA 进行优化。 

使用 OpenCL 评估 CPU、GPU 及 FPGA 执行信息过滤的效率 (PDF)

本文探讨了使程序员能够使用 OpenCL 在接近传统软件中心方法的抽象水平上有效使用 FPGA 的技术。

使用 OpenCL 和 FPGA 进行 40 Gb AES 加密 (PDF)

本应用说明介绍了如何使用 OpenCL™ 工具流程在 FPGA 上执行 AES 加密。

面向 OpenCL 的英特尔® FPGA SDK 是否已做好商用准备?(PDF)

本文比较了使用 OpenCL 与英特尔® FPGA 针对采用了蒙特卡罗技术的、具有欧式行权性质的多种金融衍生产品进行评估的性能和易用性。 

面向可重配置高性能计算的 OpenCL 即用型高性能 FPGA 网络

本文提出了一种使用 OpenCL 和 Verilog HDL 混合编程的高性能 FPGA 以太网通信,以证明在执行低延迟数据移动的同时启用实时卸载计算的可行性。 

采用 OpenCL™ 实现光流法和行人探测

通过将工作负载分流到 FPGA 来加速 OpenCL 的算法性能

借助神经网络进行对象检测和识别

在 SoC上使用 OpenCL 的光线跟踪演示

OpenCL 统一的异构编程

设计示例

 

OpenCL™ 设计实例演示了怎样在 OpenCL™ 中通过其相应的主应用程序来描述各种应用,您可以在支持面向 OpenCL 的 英特尔® FPGA SDK 的 FPGA 电路板主机上进行编译并执行。

为了让您快速上手并运行,我们提供了许多由我们的设计合作伙伴内部创建的平台(如下所示),这些平台支持适面向 OpenCL 的英特尔® FPGA SDK。

主板应用领域特性提供商
采用英特尔 Arria® 10 GX FPGA 的英特尔® 可编程加速卡高性能计算
  • 英特尔® Arria 10 GX FPGA
  • 10AX115N2F40E2LG
  • 高性能多 GB SERDES 收发器(至高可达 15 Gbps)
  • 可用 115 万个逻辑元件(-2L 速度等级)
  • 53 Mb 嵌入式内存
  • 带纠错码 (ECC) 的 8 GB DDR4 内存条 (ECC)(2 个内存条)
  • 1 Gb (128 MB) 闪存
  • PCIe x8 Gen3 电气,x16 机械 
  • 用于 FPGA 和闪存调试与编程的 USB 2.0 接口
  • 1X QSFP + 4X 10GbE 或 40GbE 支持
  • 标准高度,半长
    • 按请求提供的半高选项
英特尔
S5PH-Q PCIe 板卡网络
  • 高密度 Altera Stratix V GX/GS FPGA
  • 支持 Gen1、Gen2 或 Gen3 的 PCIe x8 接口
  • 用于 40 GigE 或 10 GigE 的双 QSFP + 外壳直接连接到 FPGA,以实现尽可能低的延迟
  • 高达 16 GB DDR3 SDRAM
  • 高达 72 MB QDRII/II+
  • 两个 SATA 连接器
  • 支持时间戳
  • 用于智能平台管理的板卡管理控制器
  • 实用 I/O 包括:USB 2.0、RS-232 和 JTAG
BittWare

A10PL4 PCIe 板卡
高性能计算
  • Altera Arria 10 GX FPGA
  • 支持 Gen1、Gen2 或 Gen3 的 PCIe x8 接口
  • 双 QSFP 外壳,适用于 2 个 40 GbE 或 8 个 10 GbE
  • 内存:高达 32 GB 的带 ECC 的 DDR4 SDRAM (x72)
  • 用于智能平台管理的板卡管理控制器
  • 精密时钟和时序选项
  • 实用 I/O:USB 2.0

 

BittWare
WARP II高性能计算
  • 双英特尔 Stratix 10 FPGA
  • 高达 272 GB DDR4(每个 FPGA 136 GB)
  • 20 TFLOP(10 TFLOP/FPGA)
  • PCIe x16 Gen3
  • 2 个 QSFP + 40/100 GbE
  • L Tile:40 GbE,以 10 Gbps 的背板性能运行
  • H Tile:100 GbE,以 28 Gbps 背板性能运行
  • 英特尔 Max10 FPGA
  • NXP Semiconductors* K61 微控制器
  • GPU 大小的 PCIe 外形
科罗拉多工程
Proc10S高性能计算
  • Stratix 10 GX/SX FPGA
  • 对于 SX 设备,提供四核 64 位 Arm* Cortex-A53* MPCore 处理器
  • PCIe x16 Gen3 或独立模式
  • 多达 10 个 26 Gbps + 8 个 17.4 Gbps 可重新配置的收发器(总计400 Gbps)
  • 外形:全高、双宽、¾ 长 PCI Express 卡
  • 支持高达 12 V/300 W
  • 2 个 QSFP28, 2 个 SFP28 以及 Gidel 高速连接器
  • 多层内存结构 (260+ GB):
    • 增强型 MLAB (640 b) SRAM (15 Mb)
    • 高达 11721 M20K (20 Kb) SRAM (229 Mb),高达 32 Gbps/块
    • 4 GB DDR4 SDRAM 板载内存,最大持续吞吐量为 108 Gbps
    • 256 GB DDR4 SDRAM(2 个 RDIMM 内存条)提供最大持续吞吐量 400 Gbps
    • 配置闪存、串行闪存 (SPI) 和串行 EEPROM
  • 由基于英特尔® SDK 的 Gidel 的 OpenCL™ BSP 和 HLS (I++) ASP 提供支持
Gidel

520N 网络加速卡

网络
  •  英特尔® Stratix® 10 F1760 NF43 封装
  • 16 通道 PCI Express Gen3
  • DDR4 SDRAM 内存
    • 四个 DDR4 SDRAM x 72 位内存条
      每个内存条 8 GB
         (总共 32 GB /也提供 64 GB 版本)
    • 传输速率:每秒 2400 MT
  • 四个 100/40/25/10 G QSFP28 网络端口
    • L-TILE:可支持高达两个 100 G 网络端口
    • H-TILE:可支持高达四个 100 G 网络端口
    • 支持网络恢复时钟
Nallatech
DE5-Net FPGA 开发套件高性能计算
  • Altera Stratix® V GX FPGA (5SGXEA7N2F45C2)
  • 用于 FPGA 编程的 n-Board USB Blaster II 或 JTAG 接口
  • 通过 MAX II CPLD 和闪存进行快速主动并行 (FPP x32) 配置
  • 两个独立的 DDR3 SODIMM 插槽,每个插槽高达 8 GB,800 MHz 或 4 GB,933 MHz
  • 四个独立的 550 MHz SRAM,18 位数据总线,每个 72 Mb
  • 256 MB 闪存
  • 四个 SFP+ 连接器
  • PCI Express (PCIe) x8 边缘连接器(包含 Windows PCIe 驱动程序)
  • 一个 RS-422 扩展接口

如果您想要的 FPGA 加速器的架构属于现有类别之一是很方便的,但并非必须如此。这些参考平台是帮助您开发自己定制 FPGA 的起点。从现有的 SoC 或者网络平台开始,按照您自己的需要来去掉或者修改组件接口,重新开发它。这使用了传统的 FPGA 设计来建立 OpenCL 内核的 “I/O 环”,与您定制电路板上的 I/O 接口进行通信。

为能够开发自己的定制 FPGA 加速器电路板,您需要一些必要的准备。从空白模板开始开发定制电路板支持包时,可以采用定制平台工具包。

文档

定制平台工具套件:Windows* 或者 Linux* 下载

  • 平台原始模板
  • 电路板测试内核,练习 I/O 接口。
  • MMD 头文件,开始开发驱动
  • 高性能计算平台迁移文本文件(源自 13.1 版本)

从现有平台开始并修改它时,这里提供了目前可以使用的参考平台:

英特尔® Stratix® 10 GX FPGA 开发套件板级支持包参考设计

英特尔® Arria® 10 GX FPGA 开发套件板级支持包参考设计

Stratix V 网络板级支持包参考设计:s5_net(带有 PLDA UDP 堆栈):

Cyclone® V SoC 板级支持包参考设计:

面向 OpenCL 的英特尔® Arria 10 自定义平台

需要帮助?

英特尔建议您联系以下经过认证的 OpenCL 板卡支持服务提供商,以帮助您开发面向自定义平台的 OpenCL BSP。

优化培训

 

面向英特尔® Stratix® 10 设备的 OpenCL™ 编码优化 (23 分钟)

在本课程中,我们将介绍用于 OpenCL™ 的英特尔® FPGA SDK 的离线内核编译器如何优化 OpenCL™ 内核代码,以在英特尔® Stratix® 10 FPGA 上实现出色的性能,以及介绍如何使用推荐的编码结构来实现这些优化。 

 

OpenCL™ 优化技术:安全哈希算法 (SHA-1) 示例(7 分钟)
该培训简要概述了当尝试使用安全哈希算法 (SHA-1) 作为示例来优化 FPGA 的 OpenCL™ 实现时采用的优化方法。
 

OpenCL™ 优化技术:图像处理算法示例(8分钟)
该培训简要概述了针对 FPGA 上的 OpenCL 以图像处理算法为目标的架构优化方法。
 

单线程对比多线程内核 (17 分钟)
了解循环管道与并行线程之间的区别,并了解何时使用单线程(任务)和多线程 (NDRange) 管道。
 

面向 OpenCL 的英特尔® FPGA 中的优化和模拟流程(6 分钟)
了解如何使用模拟器和详细的优化报告功能来优化 FPGA 加速的应用程序。
 

如何做减法 (PDF)
 

小心处理内存访问第 1 部分 (PDF)
 

小心处理内存访问第 2 部分 (PDF)
 

针对英特尔® FPGA 优化 OpenCL(2 天)
这一讲师指导的培训着重于编写针对英特尔® FPGA 优化的内核功能,其中包括动手练习。
 

OpenCL™ 培训课程

向使用 OpenCL 的软件程序员介绍 FPGA 加速
本培训介绍了使用 OpenCL™ 定位 FPGA 来创建定制加速系统的方式(这些系统的平均功耗是竞争对手加速器的五分之一)、使 FPGA 成为加速软件执行的重要资源的趋势,以及 OpenCL 如何使其可供软件开发人员访问。
 

FPGA 对比 GPGPU (21 分钟)
观看这段简短的视频,以了解 FPGA 如何提供节能的加速功能,与 GPGPU 相比,其限制要少得多,而灵活性要高得多。基于其相对于 GPGPU 固定体系结构的灵活性,我们对比了解决问题的方法。
 

英特尔® SoC FPGA 上的 OpenCL(Linux 主机)
第 1 部分 – 工具下载和设置(5 分钟)
第 2 部分 – 使用模拟器运行 Vector Add 示例(4 分钟)
第 3 部分 – SoC FPGA 的内核和主机代码编译(4 分钟)
第 4 部分 – 运行时环境的设置(7 分钟)

这些培训课程帮助您在 Linux* 环境中开始 SoC 上的 OpenCL 设计。
 

关于使用 OpenCL™ 进行并行计算的简介(30 分钟)
全面了解 OpenCL™ 标准以及使用英特尔® OpenCL™ 解决方案的优势。
 

编写用于英特尔® FPGA 的 OpenCL 程序(1 小时)
了解关于 OpenCL 标准的基础知识,并学习编写简单的程序。
 

在英特尔® FPGA 上运行 OpenCL(30 分钟)
了解面向 OpenCL 的英特尔® FPGA SDK,并学习在英特尔® FPGA 上编译和运行 OpenCL 程序。
 

构建面向 OpenCL 的英特尔® FPGA SDK 的自定义平台(1 小时)
了解如何创建自定义板卡支持包,以与您的板卡和面向 OpenCL™ 的英特尔® FPGA SDK 一起使用。
 

关于面向英特尔® FPGA 的 OpenCL 的介绍(1 天)
在此讲师指导的培训中,全面了解并行计算、OpenCL 标准和面向 FPGA 的 OpenCL 设计流程。该培训的重点并不是编写内核,而是介绍为硬件加速建立 OpenCL 环境的 FPGA 相关部分。

1产品基于已发布的 Khronos 规范,并已通过 Khronos 一致性测试流程。可以在 www.khronos.org/conformance 上找到目前一致性状态的信息。

OpenCL™ 和 OpenCL™ 标识是苹果公司的商标,需获得 Khronos 的许可方能使用。

英特尔和 Quartus 是英特尔公司或其子公司在美国和/或其他国家的商标。