电子发烧友网报道(文/周凯扬)根据EvansData全球开发调查报告22.1公布的数据,有48%的开发者着手的都是使用不止一种处理器的异构系统,因为他们需要更高效的多架构编程方案来提高负载的应用范围。然而,像CUDA之类的专用编程模型,虽然生态成熟度更高,但缺乏移植性,所以英特尔就拿出了oneAPI这一统一开放的编程模型。
oneAPI将最大化利用英特尔的新一代硬件
去年12月,英特尔发布了全新的InteloneAPI工具2023版本,新版本的工具将支持第4代XeonScalable处理器、XeonCPU Max系列,以及英特尔的数据中心GPU,包括Flex和Max两大系列。
oneAPI对英特尔产品线的支持/英特尔
在英特尔AMX、AQT、AVX-512和矢量引擎等硬件特性的支持下,oneAPI进一步提高了这些英特尔硬件的深度学习处理性能和效率。比如在oneAPI的深度神经网络神经库下,XeonMaxCPU在MLPerfDeepCAM深度学习和推理下的性能,都要高出AMD的EPYC CPU,甚至高于英伟达的A100 GPU。在OpenMC、miniBUDE等计算负载下,英特尔的Max系列GPU也能实现两倍于英伟达A100 GPU的性能。
英特尔也开始联合开发社区,针对Tensorflow、PyTorch、Anaconda等常用框架进行优化。根据Tensorflow官方公布的数据,在英特尔和谷歌对oneAPI的oneDNN优化下,他们得以充分利用第四代XeonScalable处理器的性能,在使用该处理内置的AMX扩展后,相较上一代处理器,不少AI模型的运行速度实现了至高19倍的提升。随着oneAPI的oneDNN库均已被集成到最新版的TensorFlow和PyTorch中,相信更多开发者会选择转投英特尔的怀抱。
对第三方GPU的支持
对于软件开发人员来说,摆脱专有接口而转用开放标准的话,无疑可以兼容更广泛的平台和架构,但实现这一点需要的开发成本并不低。在英特尔收购了Codeplay之后,其软件开发进度也逐步加快。去年年底,Codeplay宣布扩展oneAPI对第三方API的支持,让多架构多供应商的编程变得更加简单,于是对于英伟达GPU和AMD GPU的oneAPI插件也就面世了。
提供给第三方GPU的oneAPI可以与英特尔的oneAPI DPC++/C++编译器,以及诸多流行的库无缝衔接,这样就能将不同的处理器的编程统一到开放标准上来。但同样需要注意的是,oneAPI对第三方GPU的支持还不算很完善,比如对于AMD GPU的支持仍处于beta测试阶段。而且当下oneAPI对已知的GPU支持相当有限,比如英伟达GPU正式支持的型号有RTX2060和A100,AMD GPU正式支持的型号只有Radeon Pro W6800。
虽然Codeplay称第一版oneAPI应该可以支持到更多的英伟达和AMD GPU,但他们并没有在这些硬件平台上进行测试,所以不能保证正确的运行。而且对于英伟达GPU来说,目前仅支持通用Linux系统,因为CUDA并不支持macOS,而支持Windows的版本将在未来推出。同样的兼容性说明也适用于AMD的GPU,而且Codeplay已经在AMD MI50、MI100和RadeonRX6700XT这些GPU上进行了测试,但AMD的HIP目前并不支持Windows或macOS,所以只有Linux一种操作系统选项。
小结
对于英特尔来说,直接与声势浩大的CUDA正面交锋无疑不是一个明智的选择,可有了oneAPI这个开放编程标准,绕过乃至实现CUDA移植可以为开发者提供更大的吸引力。毕竟如今的数据中心市场硬件换代速度快,又纷纷采用了异构集成设计,如果英特尔坚持只为自己的硬件提供支持的话,那么非英特尔的CPU、GPU、FPGA和AI加速器都将继续选择自研或是公开的编程方案。而开放的oneAPI,在为其他硬件提供支持的前提下,充分利用英特尔硬件的核心优势,才能做到异军突起。
-
处理器
+关注
关注
68文章
19286浏览量
229806 -
英特尔
+关注
关注
61文章
9964浏览量
171760
发布评论请先 登录
相关推荐
评论