矩阵乘法设计示例

建议用于:

  • 设备:不详

  • Quartus:v17.1

author-image

作者

此示例包含基本矩阵乘法运算的高性能实施,并演示了可以用开放计算语言 (OpenCL™) 描述的优化,以便显著提高性能。在算法层面上,本示例中的内核展示了如何描述循环平铺以利用计算中固有的数据重用。

此示例还演示了如何使用循环展开和 SIMD 风格的编译器优化来轻松提高内核的性能。作为示例包的一部分,已选择每个预编译设备二进制文件的参数,最大限度地提高该特定板上的性能。示例包中提供了更多详细信息,显示了将内核参数化以满足不同的性能和资源要求是多么容易。

此外,主机应用程序被设置为通过分布计算和实现更多的并行性来自动利用多个 OpenCL 设备。

峰值矩阵乘法性能

特性

  • 基本运算的优化实施
  • 本地存储器缓冲
  • 编译器优化(循环展开,num_simd_work_items 属性)
  • 浮点优化
  • 多个器件执行

下载

该设计示例提供 OpenCL 设备 (.cl) 和主机应用程序的源代码。为了编译主机应用程序,Linux 包包含一个 Makefile,Windows 包包含一个 Microsoft Visual Studio 2010 项目。

本示例提供以下下载:

该设计的使用受硬件参考设计许可协议中条款和条件的管理和约束。

软件和硬件要求

此设计示例需要以下工具:

  • 英特尔 FPGA 软件 v17.1 或更高版本
  • 英特尔 FPGA SDK for OpenCL™ v17.1 或更高版本
  • Linux:GNU Make 和 gcc
  • Windows:Microsoft Visual Studio 2010

要下载英特尔设计工具,请访问 OpenCL 下载页面。对底层操作系统的要求与英特尔 FPGA SDK for OpenCL 的要求相同。

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

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