oneAPI——来自英特尔的生态共赢软件大礼包

企业站 张垞 2019-09-02 19:44

算力的多元化给整个IT行业的发展都带来了深远的影响。这种影响可能是机会,更可能是挑战。

算力的多元化意味着市场需要更多专门化的计算设备来满足AI、大数据、HPC所带来的更高算力需求,而新硬件的不断出现也意味着以服务器为代表的IT设备和数据中心需要大幅度的变革来适应设备构型的变化。在更大的图景中,算力多元化同样意味着软件生态也需要作出做出巨大变革。

经过不断发展,过去的软件开发者通过对硬件机器码的层层抽象制造了很多高级编程语言,这让现在的开发者可以更专注于功能的实现,而不是硬件底层代码的编写和效率优化。但算力的多元化却让一切变得异常复杂。

对于编程人员来说,提供不同类型算力的硬件有着不同的驱动,进而在操作系统层面有着不同的API;而这意味着不同的开发环境、框架和库。在这种情况下,如果开发者想要使用不同类型的计算资源,那么就需要调用复杂且不同从属的库或框架,而这会让开发环境非常复杂,对开发者的门槛要求很高且不利于敏捷开发;其最终结果就是大幅提升软件开发的学习和资金成本。

而随着市场对AI等多元化算力需求的不断增长,这种开发环境的分裂不仅不会收敛,反而还会加剧。

不过,我们终于看到了扭转这一局面的希望。而这次出手的正是Intel!

oneAPI——Intel的软件大计划

作为Intel在以数据为核心时代的六大支柱之一,软件在整个Intel生态中正扮演着越来越重要的作用。在Intel的110200名员工中,光是软件开发人员就超过15000名,占比达13%。而在新时代众多底层软件工具的开发过程中,Intel对于开发环境割裂的困扰甚至比很多纯软件公司还要深。

现在,Intel终于决心要改变这一现状,而方法便是oneAPI。

从这一产品的名称我们不难看出,相对于常见的从框架等层面入手打造的 “半吊子统一”产品,Intel oneAPI的切入点更接近硬件底层,当然效率也就更高。

Intel的计划很“简单”。

通过驱动之上、操作系统之下构建一个软件层,Intel就可以为所有硬件打造一套统一标准的API,让其上的每一层都可以方便的调用各类计算资源;这便是oneAPI。而更重要的是,OneAPI并非只针对Intel自己的硬件,而是要囊括所有厂商的硬件类型。

而为了更高效的调用oneAPI,Intel还针对统一的API环境提供了全新的Data Parallel C++开发语言。虽然名为Data Parallel,但该开发语言不仅适用于强调数据并行的AI应用开发,也同样适用于传统商业软件的指令并行开发。

同时,oneAPI本身也自带强大而完整的库,用户也可以使用自己熟悉的编程语言直接调用oneAPI。而由Intel推出的针对oneAPI的分析调试工具也能够让开发者方便、高效的优化应用程序,以实现更好的硬件效能。

在最合适的位置做最合适的事

英特尔架构、图形与软件部副总裁兼计算性能与开发者产品部门总经理Bill Savage

对于oneAPI,英特尔架构、图形与软件部副总裁兼计算性能与开发者产品部门总经理Bill Savage表示:oneAPI既作为一种规范同时又是英特尔的一种产品,它可以简化并且统一跨不同架构以及不同厂商之间的编程,它是一个鼓励社区和行业支持的一种开放、标准的解决方案。

作为半导体行业当之无愧的领导者,Intel在IT生态中的地位可以说是无出其右的。而凭借这一无可匹敌的行业地位,Intel几乎是唯一可以推动API领域变革的人。

由于应用和操作系统领域内存在着激烈的竞争和阵营从属关系,单一厂商几乎不太可能在API层面推动跨阵营的整合行动。

而在硬件领域,虽然GPU等部件已经在数据中心里取得了地位的长足进步,但相对于CPU而言,其仍居次要地位。因此,GPU厂商虽然也有推动API进化的意愿,但并不具备对应的能力,最多也只能从框架、编程语言及编译器层面实现有限范围内的整合与统一。没错,这里说的就是CUDA;但这并不代表CUDA毫无意义,只是相对于Intel的oneAPI,CUDA的格局和能力都十分有限。

而处理器作为IT系统的核心,在可预见的未来,其仍将持续引领系统和软件应用生态的发展。因此,由处理器厂商推动API变革显然是最合适的。一旦oneAPI成型,整个软件生态和所有的开发者也都将受益。

另一方面,在统一的API接口及开发环境和框架下,不同类型的硬件也能够很轻松的被硬件调用,从而促进硬件的销售。当然,推动这一变革的Intel也可以在IT行业内获得更高地位。

Intel为何要推出oneAPI

API是软件调用硬件资源的窗口,在这一层面推动变革,Intel同样有着自己的“小九九”。

虽然处于行业老大的地位,但Intel这两年的日子并不舒心。基础半导体技术的进展缓慢已经让Intel在制程方面落后了竞争对手半步。与此同时,ARM、RISC V等全新处理器架构纷纷崛起,而FPGA、GPU、ASIC等算力也在扮演着越来越重要的角色。甚至,更有理论认为有必要打造一套“以内存驱动”的计算架构,并成立了对应的Gen-Z基金会来推动计算机架构的革命。目前的Intel,虽无近忧,但远虑并不少。

在架构和制程问题上短期内无法确立绝对优势的当下,Intel敏锐的意识到,要想确保自身行业地位不动摇,最可靠的方法就是进一步加强在软件应用生态上的优势,让新硬件、新架构继续在自身主导的框架内发展。因此,Intel所面临的问题也就转化为“维持现有软件开发生态不出现剧烈的变动”。

显然,从API层面入手构建一个统一、开放的架构显然是达成这一目标的最有效方法。而且,以Intel目前的身份与地位推动oneAPI也完全顺理成章。

虽然oneAPI的成功需要Intel将标量(Scalar)、矢量(Vector)、矩阵(Matrix)和空间(Spatial)等不同计算架构进行大范围的整合,开发难度和成本可想而知。但回想当初,Intel不也正是靠着这种替行业着想、为生态承担成本的的方式成功上位的么?

对于这份来自Intel的厚礼,想必所有软件开发者都会欣然接受。

收藏

网友评论

写评论

相关推荐