英特尔宣布,新增对可移植指令集架构(PISA)格式的支持,这种一种专为英特尔GPU设计的虚拟指令集架构(ISA)和编程模型。

与CPU上的软件通常针对Arm或x86等已有指令集架构不同,GPU拥有自己的原生指令集和硬件特定架构。随着GPU迭代,不断推出新的硬件功能、执行特性、以及原生指令,针对机器指令集的编译器必须考虑不同架构之间的差异。标准化的虚拟指令集通过在编译器输出与GPU原生机器码之间引入抽象层,从而解决了这一问题。简单来说,PISA提供了一个通用的编译目标,使开发者只需编写一次通用代码,即可将其适配到多种兼容的英特尔GPU架构上。

透过PISA,英特尔为旗下GPU的编译器提供一个稳定且可移植的ISA,无需针对每一代架构生成特定的代码。PISA可最终转换为目标GPU的原生机器指令,从而使相同的工作负载在支持新硬件时,能够充分利用其性能,而无需修改原始的PISA代码。PISA并非英特尔首个虚拟GPU ISA,现有的vISA长期以来一直作为其GPU编译器栈的中间表示形式,而PISA则引入了一种更新的可移植指令集架构和编程模型,作用类似于英伟达的NVPTX。

目前PISA处于0.1版本,包含基于OpenCL 3.0的执行和内存模型的相关文档,以及该指令集架构如何定义整数和浮点数等数据类型,另外还涵盖了地址、寄存器访问及ISA文档中的许多其他标准内容。这表明英特尔未来在GPU领域将持续推进,已投入大量资源来开发这一项目。