面向不断扩展的多元化计算需求,英特尔提出了新的产品和技术战略,扎根于六大技术支柱——制程和封装,架构,内存和存储,互连,安全,软件。英特尔将通过横跨这六大技术的全方位计算创新,驱动计算性能的指数级提升。
针对软件这一技术支柱,英特尔认为,对于全新硬件架构的每一个数量级的性能提升潜力,软件能带来两个数量级的性能提升。对于开发者来说,拥有一套跨平台的通用软件工具,对于获得性能的指数级扩展至关重要。为此,英特尔于去年底推出“oneAPI”项目,以简化跨CPU、GPU、FPGA、人工智能和其它加速器的各种计算引擎的编程开发,并将于今年第四季度发布开发者测试版本。
日前,英特尔软件战略及技术沟通会在北京召开,英特尔全面介绍了多元化计算时代的技术战略、深入解读软件的产业意义和战略布局。
什么是英特尔oneAPI?
英特尔架构、图形与软件部副总裁Bill Savage介绍oneAPI
据英特尔架构、图形与软件部副总裁兼计算性能与开发者产品部门总经理William(Bill) Savage介绍,oneAPI始于硬件架构,在数据中心里面,今天的架构并不只局限于CPU,还包括GPU、FPGA以及专用的AI芯片,这些分别对应着标量(Scalar)、矢量(Vector)、矩阵(Matrix)和空间(Spatial)的不同计算架构,我们称之为SVMS架构。
简单来说,英特尔提出的oneAPI是一种统一的软件架构,它能够跨不同的架构、跨不同的厂商,包括除英特尔之外的其他硬件厂商。oneAPI可以从软件层面来简化和统一标量、矢量、矩阵和空间的不同硬件架构。
英特尔oneAPI包含两部分,第一部分是跨架构的编程语言,它是新的编程语言,很多不同的架构以及厂商都可以使用;第二部分是能够满足不同领域需求的跨架构库的集合。无论是这种新的编程语言,还是架构库,重点都放在性能上,因为在数据中心里面提供全面的性能是重中之重。
William(Bill) Savage表示:“oneAPI既作为一种规范同时又是英特尔的一种产品,它可以简化并且统一跨不同架构以及不同厂商之间的编程,它是一个鼓励社区和行业支持的一种开放、标准的解决方案,为大家提供除了英伟达CUDA之外的另一种选项。”
跨架构的编程语言——Data Parallel C++
英特尔架构、图形与软件部副总裁兼编译器与语言部门总经理Alice Chan介绍DPC++
如今,在数据中心拥有大量的多元化硬件架构。如果你希望在这样一个多元化的不同架构中进行编程,必然是需要很多种不同工具以及不同语言。这就意味着在软件开发过程中你需要多支团队,他们各自要去学习很多不同专业的技能,这显然不是一种最高效的软件开发方式。所以英特尔希望改变这种现状,并不仅仅是为了英特尔自己的硬件去改变,而是为全行业去改变。
英特尔架构、图形与软件部副总裁兼编译器与语言部门总经理Alice Chan表示:“我们这个全新编程语言的目的就是要实现跨架构,要实现高性能,同时保证是开放的,针对所有软件开发者开放,针对所有的硬件厂商开放。”
多元化架构需要新的编程语言,现有的C++、MATLAB等可移植编程语言和CUDA、OpenCL等数据并行编程语言,都无法满足需求。英特尔正在与行业携手开发一种全新的语言,支持实现横跨SVMS架构的数据并行编程。
DPC++语言能够跨SVMS架构为英特尔和行业提供毫不妥协的高性能和生产效率,是英特尔现在正在开发的一种新的语言,它是开放的、基于标准的、高性能的,能够跨不同的硬件架构提供高性能。
高性能库推动人工智能和数据分析的发展
英特尔架构、图形与软件部首席工程师Eric Lin介绍统一API的优势
在AI和数据分析上英特尔的愿景是提供更好的计算库,并且针对这些计算库,把英特尔的硬件变成一个对开发者非常容易的抽象,使得他们所有的工作能够重复利用、更简化。英特尔也会提供工具、方法,使部署者真正地从oneAPI中获益。
据英特尔架构、图形与软件部首席工程师Eric Lin介绍,oneAPI集成了业内计算库,包括最快速、使用最广泛的数学函数库MKL、使用经典机器学习算法的英特尔数据分析加速库DAAL,以及面向深度神经网络的英特尔数学核心函数库MKL-DNN等,充分了解底层硬件如CPU和加速器的所有细节,并为硬件提供更佳性能。
oneAPI面向数据科学家和应用开发者提供跨SVMS架构的统一软件抽象,让所有开发者可随时获取高性能。
英特尔的策略就是把库集成到框架中,框架再提供给数百万数据科学家、算法工程师,他们使用它开发出真正的应用。例如,一个库服务数万个框架开发者,服务数百万甚至更多的数据科学家,因此把从硬件到应用这条路打通。
Eric Lin表示:“OpenVINO就展示了oneAPI愿景的现实。作为为客户解决问题的优化推理引擎,OpenVINO补充了深度学习框架,支持应用程序开发者以统一接口跨SVMS架构进行开发。”
据悉,oneAPI已经和很多厂商都开始合作。百度方面,在Paddle Paddle的深度学习训练和推理工作负载中百度非常依赖英特尔至强处理器用于深度学习;Facebook方面,Facebook绝大部分的AI业务使用了英特尔优化的PyTorch来支撑他们每天的业务,这将帮助Facebook加速每天200万亿次预测和60亿次翻译;Taboola也使用英特尔至强oneAPI,经过优化之后,达到了2.5倍的提升。
总结:英特尔oneAPI支持直接编程和API编程,并将提供统一的语言和库,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件上,提供完整的本地代码性能。oneAPI和高级算法研究与开发上的投入,在英特尔“让每一个晶体管都派上用场”的目标中发挥了深远影响。英特尔计划将在2019年第四季度发布oneAPI开发者测试版本,并披露更多项目相关细节,让我们敬请期待。