越来越明显,未来的计算不是一个芯片,而是许多芯片对许多事情。英特尔首席执行官Pat Gelsinger最近的设想加速器的“海”,顾客可以选择,混合和匹配他们的特定需求。
听起来很不错,对吧?除非你是软件开发人员背负创建自定义代码对于每一个新型的芯片(甚至只是尝试一种新的芯片)。
(照片:英特尔公司)
这就是保罗·彼得森的英特尔研究员、软件架构师oneAPI,出现的原因。他的工作是让开发人员可以有一组代码,尽可能快的芯片。
这听起来简单,这是一个激动人心的任务范围。
的野心oneAPI承担这两个问题是一个大秋千:给开发人员选择硬件时,让它更容易实现高性能的代码。彼得森表示,英特尔“独特的观点,我们允许异构硬件组合。”
在与专有的解决方案——特别是CUDA编程模型,目标Nvidia gpu - oneAPI是建立在开放的基础上,使最大的选择和水泥标准。
快速栏:oneAPI可以指两件事。首先是oneAPI倡议,一个开放的社区一起工作来定义和形状oneAPI规范,旨在给开发人员一个共同的体验在不同类型的芯片和来自不同供应商的。第二个是英特尔oneAPI工具包基于开放标准,工作跨度英特尔cpu、gpu和fpga。从这里开始,英特尔“oneAPI”将引用这些工具包。
便携性能在许多类型的处理器
假设你正在构建一个程序来预测明天的天气或模型的相互作用是分子医学疗法。英特尔oneAPI工具包包含工具迁移现有代码和编译和套件库函数pre-tuned几种芯片,或者类似的第四代英特尔®Xeon®扩展处理器,许多加速器在一个芯片。
而不是学习的三个或四个不同的方法来执行一个函数,彼得森说,开发商“基本上可以学习做它然后我们处理的一种方法的多样性和照顾映射到硬件在一个有效的方式。”
吃复杂性为客户一直是基岩英特尔的商业战略。在这种情况下,“我们大大简化开发人员的成本,他们需要学习多少,有多少种不同的生态系统需要维护,为了完成他们的工作。”
彼得森描述oneAPI“绩效导向的编程系统,”而不是像JavaScript或Python”都是关于生产力,和性能是次要的。”The team is "creating an open ecosystem that allows that kind of developer productivity for high-performance software."
“我们努力尽可能接近硬件得到,同时仍然能够便携和支持多种类型的硬件,”他解释说。就在于开发人员的好处:代码容易编写、维护和市场。这也是中央彼得森的挑战的工作。
这种方法意味着承担“很多挑战在性能方面同时优化多个目标。只要你允许选择,你必须做出决定,这可以增加延迟。我们正在不断努力保持我们的代码路径尽可能短。”
到目前为止还好:“我们可以与相同的硬件和显示用户,他们没有失去任何切换到一个开放的解决方案,”彼得森说。最近的一些学术研究熊这出。
“难以置信的深度协调”
这个雄心勃勃的计划——的结果提供一组竞争和全面的功能,发明新的能力和跨硬件配置的扩展数组——这样做是“oneAPI是巨大的,”彼得森证实。字面和隐喻。
英特尔提供了几种oneAPI工具包为不同用途,数十名组成的每一个组件,它将分层次分解成无数的许多功能。总数为数千万行代码。
彼得森会议就被填满了所有的日历是重要的“难以置信的深度坐标,让人们一起工作,设计接口,他们可以合作,以确保我们能够得到有效的执行所有的硬件我们努力的目标。”
还有一个很好的理由离开复杂性彼得森和他的团队:它获得了太多的任何一个人。
”很难让用户理解并行的规模,这些加速器就自然和速度来看,”彼得森解释道。“我们可以很容易地获得,你必须想象成百上千,如果不是数以百万计的事情并行运行保持设备有足够的工作忙。开发人员需要考虑在并行的规模更大,他们需要做的。”
职业生涯“并行思考”
巴掌大小的新一代超级计算机像英特尔®数据中心GPUMax系列进入市场,超级计算机自己超越exascale并输入zettascale水平的性能、微观管理硬件可能成为不可能。彼得森建议开发者认为并行”。
很容易对他说:彼得森以来并行“思考”研究生院在1980年代末。“在大学里我有机会的一部分国际编程竞赛,”彼得森说,“和我碰巧赢得团队一年。”He credits that little trophy on his CV to the folks who "took a chance on me and brought me into the Center for Supercomputing Research and Development at the University of Illinois."
彼得森后进入一个并行计算研究项目由大卫Kuck。毕业后,彼得森加入他的公司,Kuck & Associates或凯,建立绩效导向的编译器和编程工具。
2000年4月,英特尔收购了Kuck的公司- Kuck本人是一个英特尔院士”,从那时起我们一直在火箭骑了英特尔的内部,构建不同类型的产品,”彼得森说。
丝锥oneAPI:更开放,更多选择,更多的性能
未来的火箭骑oneAPI是什么?当然,更多的野心。
在开发人员的一边,oneAPI一直支持更多的语言除了c++ Python一样,Java和茱莉亚。在硬件方面,即将到来的2023年英特尔oneAPI工具包获得支持英特尔最新的和即将到来的CPU、GPU和FPGA的架构,包括工具来缓解从multiarchitecture专有代码转换。
在性能方面,彼得森设想让oneAPI更聪明,能够在多个cpu负载平衡,gpu或其他加速器不仅在一台机器,但在机架和机架。
“我们希望用户舒适的维护他们的软件,即使他们需要目标新客户或新硬件。我们创建基础设施,允许选择的多样性在生态系统中,我们希望客户选择英特尔”。