计世网

一个解决方案实现跨架构和高性能,oneAPI底气何处来?
作者:焦旭 | 来源:计算机世界
2019-08-30
时至今日,可以说对于oneAPI,业内充满了期待,都想看一看作为硬件巨头的英特尔,在软件方面能带来多大的惊喜。英特尔官宣,将于2019年第四季度发布oneAPI的开发者测试版本。

 

oneAPI is coming。英特尔官宣,将于2019年第四季度发布oneAPI的开发者测试版本。

对oneAPI这个名字,业内人士并不陌生。早在2018年12月,英特尔在其“架构日”活动上,提出了“六大技术支柱”概念,同时也首次宣布要推出oneAPI项目,称要简化跨CPU、GPU、FPGA、人工智能和其它加速器的各种计算引擎的编程。

2019年5月,在首次对外开放的英特尔年度开源技术峰会上,oneAPI再次被提及。英特尔称其在软件领域的策略是“一个架构”,围绕架构进行扩展,并且让所做的一切都是简便和可扩展的。

2019年6月,在伦敦举行的英特尔软件技术日上,进一步介绍了软件项目oneAPI的最新进展。英特尔提出,要提供一个统一的编程模型,以简化跨不同计算架构的应用程序开发工作。

2019年7月,在国际图形学年会期间,英特尔分享了oneAPI渲染工具包路线图,并提出在其软件计划中,oneAPI和高级算法研究与开发上的投入,极大地推进了英特尔“让每一个晶体管都派上用场”的目标。

时至今日,可以说对于oneAPI,业内充满了期待,都想看一看作为硬件巨头的英特尔,在软件方面能带来多大的惊喜。

oneAPI到底是什么?

C:\Users\Lesley.Wan\AppData\Local\Temp\WeChat Files\7f1d6a938ef01f7f2fb8a1ae2accc6f.jpg

英特尔架构、图形与软件部副总裁Bill Savage介绍oneAPI

英特尔架构、图形与软件部副总裁兼计算性能与开发者产品部门总经理William (Bill) Savage是这样介绍的:“oneAPI项目将为开发者带来一套能提供一个统一编程模型的工具。针对跨多种架构的工作负载,这个模型简化了相关的开发工作。英特尔广泛的计算产品组合目前已经包含专用加速器,我们提供的软件解决方案将帮助开发者们充分释放硬件性能。”

简单来说,英特尔要在软件层面用一个解决方案简化、统一跨不同计算架构的应用程序开发工作,并最大程度上释放出硬件性能。

英特尔指出,以数据为中心的多元化计算工作负载推动着对多元化计算架构的需求,像CPU、GPU、AI 芯片和FPGA。而多元化计算架构覆盖了对应的标量(Scalar)、矢量(Vector)、矩阵(Matrix)和空间(Spatial)。英特尔称之为SVMS架构,其需要一个高效的软件编程工具来充分释放性能。

William (Bill) Savage表示,oneAPI不仅跨SVMS架构统一并简化了编程模型,为开发者带来更高的生产效率和毫不妥协的性能。作为一套实用的解决方案,在其底层接口已被广泛的软件生态系统采用的情况下,oneAPI坚持行业标准和开放规范为基础,鼓励生态系统协作和共同创新。

强大的软件产品基础

从细节上看,oneAPI支持直接编程和API编程,可提供统一的语言和库,可以在包括CPU、GPU、FPGA和AI芯片等不同硬件上,提供完整的本地代码性能。

C:\Users\Lesley.Wan\AppData\Local\Temp\WeChat Files\1d5d47a907472300556a8174f315d6b.jpg

英特尔架构、图形与软件部副总裁兼编译器与语言部门总经理Alice Chan介绍DPC++

英特尔架构、图形与软件部副总裁兼编译器与语言部门总经理Alice Chan介绍道:“oneAPI包括一个全新的直接编程语言Data Parallel C++ (DPC++),这是一个可替代单架构专用语言的开放式、跨行业的编程语言。通过使用开发者熟悉的编程模型,DPC++能够提高并行编程的效率和性能。”

Alice Chan指出,多元化架构催生了全新的编程语言,用来支持实现横跨SVMS架构的数据/任务并行编程。区别于现有的编程语言,DPC++是一种基于标准的开放式跨行业语言,可替代单一架构专有语言。

C:\Users\Lesley.Wan\AppData\Local\Temp\WeChat Files\7f13dda29ef25aa0bbad2dca7dbd582.jpg

英特尔架构、图形与软件部首席工程师Eric Lin介绍统一API的优势

对于API编程,就要依靠oneAPI强大的库跨越多个可受益于加速的工作负载领域。库函数针对每个目标架构都进行了定制编码。英特尔架构、图形与软件部首席工程师Eric Lin表示,oneAPI集成了业内顶级的计算库,包括最快速、使用最广泛的数学函数库MKL、使用经典机器学习算法的英特尔数据分析加速库DAAL,以及面向深度神经网络的英特尔数学核心函数库MKL-DNN等。可以充分了解底层硬件如CPU和加速器的所有细节,并为硬件提供最佳性能。

Eric Lin指出,oneAPI面向数据科学家和应用开发者提供跨SVMS架构的统一软件抽象,让所有开发者可随时获取高性能。

此外,在性能分析工具VTune Amplifer的基础上,英特尔将提供加强版的分析与调试工具,以支持DPC++和广泛的SVMS架构。

目前,oneAPI项目的优化工具已经进入谷歌、Facebook、百度、Taboola等客户的产品堆栈框架中。William (Bill) Savage表示:“未来,希望oneAPI可以做到面向所有硬件厂商,并得到实际部署。”

责任编辑:焦旭