将“No transistor left behind”,意为“不落下一个晶体管”作为口号的oneAPI,是Intel公司研发的一款高度统一的编程模型,旨在适用于如CPU、GPU、FPGA、AI等各类计算机架构。
oneAPI的核心是Intel的Data Parallel C++(DPC++),是建立在C++和 Khronos SYCL标准之上的语言。除了基于 LLVM/Clang 的 DPC++ 编译器工具链外,oneAPI 还包含了许多库,例如深度学习的 oneDNN、作为数学内核库的 oneMKL、用于分析的oneDAL、用于线程的oneTBB,以及用于视频处理的 oneVPL 等组件。此外,oneAPI 渲染工具包中还有 OSPray、Open Image Denoise、Open Volume Kernel Library 等开源软件组件,作为它的底层硬件抽象机构。
oneAPI的突破性在于将在行业中定义和引领一个人工智能日融合、异构及多架构的编程时代,跨架构(CPU、GPU、FPGA及其他加速器)开发能力对于处理数据密集型工作负载极为重要,因为这种工作负载需要多种架构,这也将成为未来的常态。oneAPI在整个开发环境中处于贴近底层硬件的基础编程层级,这使得位于其之上的中间件和框架可以用同一份框架来支持CPU和多种硬件设备。在今天,每一个硬件平台往往需要开发者维护独立的代码库,这些代码库需要使用不同的语言、库和软件工具进行编程。这是一项极其复杂和耗费时间的工作,会大大降低开发速度、抑制创新。为解决这一难题,oneAPI便提供了提供一个通用、开放的编程体验,让开发者可以自由选择架构,无需在性能上作出妥协,也大大降低了使用不同的代码库、编程语言、编程工具和工作流程所带来的复杂性,相对于今天的基于单个厂商的封闭式编程环境,oneAPI为开发者提供了极富竞争力、也更先进的可替代选择,帮助他们在保留现有软件投资的基础上,搭建一座无缝连接的桥梁,从而为未来的多架构世界创造更多丰富的应用程序。