已提交即将到来的Linux 6.10合并窗口的Intel iVPU加速器驱动程序更改,以推进自推出带有Intel Core Ultra笔记本CPU的Meteor Lake以来发现的神经处理单元(NPU)支持。对于Linux 6.10中的iVPU/NPU驱动程序,有几个值得注意的新功能。
在Linux 6.10中,英特尔NPU加速器驱动程序增加了对硬件调度程序的支持,但至少目前默认情况下是禁用的。该硬件调度程序“HWS”被描述为固件端功能,可能无法在所有硬件代和固件版本中找到。默认情况下,它是禁用的,取决于要设置的“ivpu.sched_mode=1”模块参数,以便在支持的情况下利用硬件调度程序,而不是依赖操作系统调度程序。对于NPU作业,NPU硬件调度器应该比驱动程序的软件调度器更高效,并可能产生更好的性能。作为硬件调度程序启用的一部分,iVPU驱动程序现在为每个引擎设置多个命令队列,并对不同的优先级进行分类。
Linux 6.10上的英特尔NPU的另一个新功能是添加了初始评测支持。iVPU驱动程序提供基于时间的Metric Streamer评测用户空间API,允许用户空间工具查询固件暴露的NPU指标。
Linux 6.10的第三个新功能是通过sysfs公开一个“npu_busy_time_us”文件,该文件允许向用户空间报告npu执行作业所花费的时间。反过来,用户空间可以利用这个新的sysfs文件来监控NPU设备的利用率。
All of these Intel NPU open-source kernel driver changes were submitted as part of this patch series to DRM-Next ahead of the upcoming Linux 6.10 merge window.