英特尔近日推出了oneAPI工具包的新版本,让开发人员能够构建可以运行在多种处理器上的应用。
很多企业的技术环境包含了多种芯片。例如,某个组织可能在CPU上运行数据库,在GPU上运行人工智能应用,还有一些企业会使用更专业的芯片例如FPGA。
可以运行在一种芯片上的应用,不一定兼容另一种芯片。通常,把应用程序迁移到新的处理器架构上,需要开发人员更改大量的代码。工作负载必须支持的芯片越多,必须更改的代码也就越多。
英特尔的oneAPI工具包可以让开发人员更轻松地构建可运行在多种类型芯片上的应用。据英特尔称,oneAPI减少了应用从一种处理器架构转移到另一种处理器架构时必须更改的代码量,结果就是让开发人员能够更快地完成软件项目。
英特尔这次推出的最新版本oneAPI支持英特尔即将推出的几款数据中心处理器,还提高了与竞争对手芯片的兼容性。
据英特尔称,oneAPI的新版本支持英特尔即将推出的Sapphire Rapids系列服务器CPU,以及英特尔最近推出的Xeon Max系列,后者包括了针对高性能计算系统特别是超级计算机进行优化的CPU。
开发人员现在还可以使用oneAPI为英特尔即将推出的数据中心GPU系列构建应用。该产品线的主角是Max系列,一种拥有超过1000亿个晶体管的芯片,其中包含了47个小芯片或者是计算模块,经过优化可以运行机器学习软件。
有一些应用需要能够运行在多个厂商的GPU上。为了简化此类工作负载的开发,英特尔正在使用一系列新软件插件扩展oneAPI,这些插件由Codeplay Software开发,这家位于爱丁堡的公司已于今年早些时候被英特尔收购。
开发人员使用一种名为SYCL的编程语言来编写oneAPI应用,使用这种语言编写的代码可以运行在多种类型的芯片上。据英特尔称,新的oneAPI插件将让开发人员更容易编写SYCL代码运行在Nvidia和AMD的GPU上。
除了GPU之外,Nvidia也提供了CUDA软件工具包,企业使用该工具包来优化Nvidia GPU驱动的应用的性能水平。
在默认情况下,CUDA提供支持的、针对Nvidia芯片开发的应用并不兼容其他GPU。因此,将此类应用转移到另一家芯片制造商的GPU上,可能就会涉及到大量工作。为了简化这项任务,英特尔更新了oneAPI,使其可以更轻松地把CUDA驱动的软件转换为支持多种类型GPU的SYCL代码。
英特尔还通过其他方式简化了基于GPU的应用开发。英特尔新增了一项功能,可以自动执行工作负载的Roofline分析。Roofline分析是一种性能评估方法,可以帮助开发人员找到加速软件的方法。
美国阿贡国家实验室计算科学部副主任Timothy Williams表示:“我们的开发系统使用了英特尔Max系列GPU加速器,以及使用英特尔oneAPI编译器和库构建应用,得到的早期应用性能结果是令人鼓舞的。针对领先的计算科学,我们重视来自多厂商、多架构编程标准的代码可移植性带来的好处。”
除了GPU新功能之外,oneAPI的新版本还包括其他几项增强功能。英特尔改进了对开源工具OpenMP的支持,开发人员可以使用OpenMP开发能同时运行在多个处理器核心上的程序。此外,英特尔还增强了oneAPI的oneMKL组件,从而更容易开发执行复杂数学运算的应用。
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面