这个叫ZLUDA的项目帮你用Intel核显运行CUDA程序

现在Intel的处理器大部分都会整合核显,在台式机上这家伙大多数时间都被关闭了,即使把它打开你也会发现他长期处于闲置状态,那么有没有人挖掘一下它的利用价值呢?还真有,现在github上有一个叫ZLUDA的项目,它的目的就是用Intel的GPU运行CUDA程序,而且目标是无需对程序进行任何修改就能运行。

该项目基于Intel的oneAPI零级规范,这是一个个人项目,与Intel和NVIDIA没有直接关系。项目的创建者声称它可以提供近乎原生的性能,让Intel的GPU在没有性能损失的情况下运行CUDA程序。当然目前该项目只是出于起步状态,缺乏对CUDA的全面支持,实际上作者只展示了用Core i7-8700K上的UHD Graphics 630使用ZLUDA和OpenCL运行GeekBench 5的情况,ZLUDA让GeekBench认为UHD 630是一个慢速的NVIDIA GPU,从而走了CUDA API来运算,上面就是ZLUDA和OpenCL的运行结果,6个项目里面有4个是比OpenCL更快,整体来说快了10%。

目前ZLUDA支持Intel的Gen 9以及更新版本的核显,但目前测试是基于Gen 9核显的,不知道它在Ice Lake上的Gen 11与Tiger Lake上的Xe有怎么样的表现。至于AMD的GPU,目前是不支持的,但技术上是可行的,以后可能会支持。

其实Intel有自己的DPC++,AMD也哟㜾的HIP,但这两个都需程序员在开发时就套用特定的API工具,而ZLUDA不需要任何额外的工作就能让CUDA的程序在Intel GPU上运行,当然如果想运行效率高就需要GPU支持对应的硬件指令,没有的也就会改用软件进行运算,这对性能会有明显影响,上面GeekBench 5那两个跑得比OpenCL慢的项目就很能说明问题。

当然这个ZLUDA项目会威胁到NVIDIA的CUDA生态系统,估计NVIDIA对它会不太满意,但其他人应该会很乐意看到它的诞生。

(0)

相关推荐