oneAPI 徽标

英特尔® oneAPI

跨越多个架构的统一编程模型

概述

支持高级软件工具流对于那些希望利用异质架构的日益增长的客户群来说至关重要。英特尔新的oneAPI是围绕代码重用而设计的,同时提供与其他高级工具类似的性能。了解英特尔的oneAPI编程模型,以及它是如何通过实现跨多个架构的加速开发而解决编程难题的。

今天对选定的BittWare产品提供支持

编程挑战

适用于多种架构

在今天的HPC领域,有几种硬件架构可用于运行工作负载--CPU、GPU、FPGA和专用加速器。没有一个架构是最适合每一个工作负载的,因此,使用混合架构可以在大多数情况下获得最佳性能。然而,这种架构的多样性导致了一些挑战:

每个架构都需要单独的编程模型和工具链:

  • 所需的培训和许可 - 编译器、IDE、调试器、分析/监测工具、部署工具 - 每个架构都需要
  • 调试、监控和维护跨架构的源代码,这很有挑战性
  • 难以跨越专有IP和架构进行整合,没有代码重用

软件开发的复杂性限制了架构选择的自由。

  • 为克服进入壁垒,需要对技术专长进行孤立的投资
英特尔编程挑战

oneAPI如何提供帮助

OneAPI提供了一个统一的编程模型,简化了不同架构的开发。通过oneAPI编程模型,开发人员可以用相同的语言和库瞄准不同的硬件平台,并可以使用同一套调试和性能分析工具在不同的平台上开发和优化代码--例如,通过Vtune剖析器获得跨越其主机和加速器的运行时间数据。

在不同的平台和硬件架构上使用相同的语言,使得源代码更容易被重用;即使在代码被转移到不同的硬件架构上时,仍然需要进行平台特定的优化,也不再需要进行代码翻译。而且,使用共同的语言和工具集会使新的开发人员的培训更快,调试更快,生产率更高。

oneAPI 优势说明
  • 通过仿真报告进行性能调优和时间封闭
  • 通过VTune™ Profiler进行运行时分析
  • 通过内置的语言功能实现复杂的硬件模式:语义标头
  • 跨架构和供应商的代码重用
  • 与现有的高性能语言兼容
  • 充分利用熟悉的顺序编程语言:改善提升调试时间
  • IDE整合:Eclipse,VS,VS Code
oneAPI 编程模型图

使用oneAPI的二维FFT演示

在这个以软件为导向的工具流程中,开发速度更快+重复使用代码

通过我们的2D FFT演示探索使用oneAPI,没有采用HBM2的520N-MX卡。请务必在页面底部申请代码下载!

二维 FFT 文章缩略图
数据并行 C++

数据并行C++

基于标准的跨架构语言

oneAPI语言是数据并行C++,这是一种为并行编程生产力而设计的高级语言,基于C++语言以获得广泛的兼容性。DPC++不是一种专有的语言;它的发展是由一个开放的跨行业倡议所驱动的。

语言,在CPU和加速器上提供不折不扣的并行编程生产力和性能:

  • 允许跨硬件目标的代码重用,同时允许为特定的加速器进行定制调整
  • 开放的、跨行业的、替代单一架构的专有语言

以C++为基础:

  • 使用常见和熟悉的C和C++结构,提供了C++的生产力优势
  • 纳入了Khronos集团的SYCL*,支持数据并行和异构编程

社区项目,以推动语言的提升:

  • 简化数据并行编程的扩展
  • 开放和合作的发展促进持续发展 

oneAPI的FPGA开发流程

为FPGA编译代码时的主要问题之一是编译时间--将DPC++代码转化为实现该代码指定的硬件结构的时序封闭的FPGA设计所需的后端编译过程可能需要几个小时才能完成。因此,FPGA的开发流程已经被定制,以尽量减少完整的编译运行。

  1. 第一步是功能验证,即使用测试台检查代码的正确性。这是在开发平台上使用仿真进行的--针对FPGA的代码在CPU上被编译和执行。当发现错误并需要修复时,这可以使周转时间快得多。为此可以使用标准的CPU调试器(如Intel® Distribution for GDB)。
  2. 一旦功能验证完成,静态性能分析将通过编译器生成的报告进行。报告包括识别设计中的内存、性能、数据流瓶颈所需的所有信息,以及解决瓶颈的优化技术建议。它们还提供了目标FPGA设计的面积和时间估计。
  3. 在静态分析的结果令人满意后,会进行全面的编译。编译器可以根据要求在生成的硬件中插入剖析逻辑;剖析逻辑产生内存和管道访问的动态剖析数据,随后可以被Vtune性能分析器用来识别无法以任何其他方式发现的依赖数据模式的瓶颈。
 
oneAPI FPGA 开发流程
oneAPI 徽标

免费网络研讨会

使用英特尔® oneAPI™实现FPGA的高性能计算加速

注册后立即观看!

了解更多关于oneAPI的信息

什么是oneAPI?

oneAPI是一个跨行业的、开放的、基于标准的统一编程模型,提供跨加速器架构的共同开发者体验--更快的应用性能、更多的生产力和更大的创新。oneAPI行业倡议鼓励在整个生态系统中就oneAPI规范和兼容的oneAPI实施进行合作。

图书馆

oneAPI为计算和数据密集型领域提供库。它们包括深度学习、科学计算、视频分析和媒体处理。

硬件抽象层

低级别的硬件接口定义了一组能力和服务,允许语言运行时利用硬件加速器。

规格

oneAPI规范扩展了现有的开发者编程模型,通过语言、一套库API和一个低级硬件接口来支持跨架构编程,从而实现多样化的硬件。为了促进兼容性并使开发者的生产力和创新,oneAPI规范建立在行业标准的基础上,并提供一个开放的、跨平台的开发者堆栈。

520N-MX PCIe 卡照片

你可以立即开始在520N-MX上使用oneAPI

在FPGA上开始使用oneAPI

你需要三个组件来开始使用oneAPI进行开发。oneAPI基础工具包和FPGA ADd-On都可以从Intel获得。你的BittWare FPGA卡的BSP可以在BittWare的开发者网站上找到。 

oneAPI 基本工具包徽章

英特尔的oneAPI基础工具包

oneAPI 基础工具包插件图像

用于oneAPI基础工具包的英特尔FPGA插件

OneAPI BSP 图表

来自BittWare的FPGA卡BSP

视频

Craig Petrie谈到了BittWare对oneAPI的支持

 

对价格或更多信息感兴趣?

我们的技术销售团队随时准备提供可用性和配置信息,或回答您的技术问题。