当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于在图形处理单元上执行的内核源适配制造技术

技术编号:37960116 阅读:11 留言:0更新日期:2023-06-30 09:35
本文描述的示例涉及一种计算机可读介质,包括存储于其上的指令,该指令如果由一个或多个处理器执行,则使得一个或多个处理器用于:访问以着色语言编写的内核源;基于着色语言从多个编译器中选择编译器;基于内核源和所选择的编译器生成内核指令集体系结构和相关联的运行时绑定;以及基于运行时绑定来适配用于配置图形处理单元(GPU)的状态信息,以将选择的任何API运行时作为目标。任何API运行时作为目标。任何API运行时作为目标。

【技术实现步骤摘要】
用于在图形处理单元上执行的内核源适配
相关技术
[0001]在某些情况下,为图形处理单元(graphics processing unit,GPU)的特定硬件功能编写的单指令多数据(single instruction multiple data,SIMD)指令可以交付比单指令多线程(single instruction multiple threads,SIMT)内核的性能更高的性能(例如,更快的操作)。然而,以诸如C for Metal(CM)之类的语言编写的一些内核无法经由专为流行的图形API(诸如,DirectX、OpenCL、Metal、Vulkan等)设计的运行时(例如,库、框架或平台)来进行部署。换言之,一些SIMD向量指令无法通过流行的3D API被部署。因此,可能无法实现在GPU上执行SIMD指令的性能增益。由操作系统供应商(Operating System Vendor,OSV)开发的着色语言支持新GPU功能与这些功能在图形API中可用之间可能存在时间滞后。因此,来自开发软件的独立软件供应商(independent software vendor,ISV)的软件可能无法利用GPU的最新可用硬件功能。此外,利用GPU的最新可用硬件功能花费内核开发人员大量的时间和资源。
附图说明
[0002]图1是根据实施例的处理系统的框图。
[0003]图2A

图2D图示由本文中描述的实施例提供的计算系统和图形处理器。
[0004]图3A

图3C图示由本文中描述的实施例提供的附加的图形处理器和计算加速器体系结构的框图。
[0005]图4是根据一些实施例的图形处理器的图形处理引擎的框图。
[0006]图5A

图5B图示根据本文中描述的实施例的线程执行逻辑,该线程执行逻辑包括在图形处理器核心中采用的处理元件的阵列。
[0007]图6图示根据实施例的附加的执行单元。
[0008]图7是图示根据一些实施例的图形处理器指令格式的框图。
[0009]图8是图形处理器的另一实施例的框图。
[0010]图9A是图示根据一些实施例的图形处理器命令格式的框图。
[0011]图9B是图示根据实施例的图形处理器命令序列的框图。
[0012]图10图示根据一些实施例的用于数据处理系统的示例性图形软件体系结构。
[0013]图11A是图示根据实施例的可用于制造集成电路以执行操作的IP核心开发系统的框图。
[0014]图11B图示根据本文中描述的一些实施例的集成电路封装组件的截面侧视图。
[0015]图11C图示封装组件,该封装组件包括连接到衬底的多个单元的硬件逻辑小芯片。
[0016]图11D图示根据实施例的包括可互换小芯片的封装组件。
[0017]图12、图13A和图13B图示根据本文中所述的各实施例的可以使用一个或多个IP核心制造的示例性集成电路和相关联的图形处理器。
[0018]图14描绘用于对图形处理单元的内核源适配的示例系统。
[0019]图15描绘用于内核源编译的示例系统。
[0020]图16描绘用于执行图形处理单元状态的变换的示例系统。
[0021]图17描绘过程的示例。
具体实施方式
[0022]在以下描述中,出于解释的目的,阐述了众多特定细节以提供对下文所描述的本专利技术的实施例的透彻理解。然而,对本领域技术人员将显而易见的是,可在没有这些特定细节中的一些细节的情况下实施本专利技术的实施例。在其他实例中,以框图形式示出公知的结构和设备,以避免使本专利技术的实施例的根本性原理变得模糊。
[0023]各种示例经由用于目标GPU的目标应用程序接口(application program interface,API)(例如Microsoft DirectX和/或Apple Metal)部署以任何着色语言(从高级着色语言到二进制格式,从向量语言到标量语言)编写的任何图形处理单元(graphics processing unit,GPU)内核源。用于目标API(例如DirectX、Metal等)的用户模式驱动器(User mode driver,UMD)可以解释和适配运行时绑定,以供经编译的内核源在目标GPU上执行。
[0024]本文描述的编译和适配技术为开发人员(例如,独立软件供应商、硬件供应商内核算法编写者等)提供了以下能力:以任何选择的GPU内核源语言(例如,C for Metal、高级着色器语言(High

Level Shader Language,HLSL)、OpenCL、Metal等)开发GPU内核并及时编译内核源并经由流行的GPU API(例如DirectX、Metal等)在任何GPU硬件上执行经编译的内核。在将经编译的内核源调遣给底层GPU时,内核源语言不必与目标GPU运行时/API的语言相同。系统概述
[0025]图1是根据实施例的处理系统100的框图。系统100可在以下各项中被使用:单处理器桌面型电脑系统、多处理器工作站系统或具有大量处理器102或处理器核心107的服务器系统。在一个实施例中,系统100是被并入在片上系统(system

on

a

chip,SoC)集成电路内的处理平台,该片上系统(SoC)集成电路用于在移动设备、手持式设备或嵌入式设备中使用,诸如,用于在具有至局域网或广域网的有线或无线连接性的物联网(Internet

of

things,IoT)设备内使用。
[0026]在一个实施例中,系统100可包括以下各项,可与以下各项耦合,或可集成在以下各项内:基于服务器的游戏平台;游戏控制台,包括游戏和媒体控制台;移动游戏控制台、手持式游戏控制台或在线游戏控制台。在一些实施例中,系统100是移动电话、智能电话、平板计算设备或移动互联网连接的设备(诸如,具有低内部存储容量的膝上型电脑)的部分。处理系统100也可包括以下各项,与以下各项耦合,或被集成在以下各项内:可穿戴设备,诸如,智能手表可穿戴设备;智能眼镜或服装,其利用增强现实(augmented reality,AR)或虚拟现实(virtual reality,VR)特征来增强,以提供视觉、音频或触觉输出来补充现实世界视觉、音频或触觉体验或以其他方式提供文本、音频、图形、视频、全息图像或视频、或触觉反馈;其他增强现实(AR)设备;或其他虚拟现实(VR)设备。在一些实施例中,处理系统100包括电视机或机顶盒设备,或者是电视机或机顶盒设备的部分。在一个实施例中,系统100可包括自动驾驶交通工具,与自动驾驶交通工具耦合,或集成在自动驾驶交通工具内,该自动驾驶交通工具诸如,公共汽车、拖拉机拖车、汽车、电机或电力循环、飞机或滑翔机(或其任
何组合)。自动驾驶交通工具可使用系统100来处理在该交通工具周围感测到的环境。
[0027本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非暂态计算机可读介质,包括存储于其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器用于:访问以着色语言编写的内核源;基于所述着色语言从多个编译器中选择编译器;基于所述内核源和所选择的编译器生成内核指令集体系结构和相关联的运行时绑定;以及基于所述运行时绑定来适配用于配置图形处理单元GPU的状态信息。2.如权利要求1所述的计算机可读介质,其中,所述着色语言包括以下各项中的一项或多项:C for Metal(CM)、高级着色器语言(HLSL)、OpenCL、标准便携式中间表示V(SPIR

V)、金属着色语言(Metal SL)、或CUDA。3.如权利要求1所述的计算机可读介质,其中,所述多个编译器包括以下各项中的两项或更多项:DirectX Bytecode(DXBC)编译器,其中DXBC可以是基于DirectX的高级着色语言(HLSL)的中间表示;向量编译器;OpenCL编译器;SpirV编译器;金属着色语言(Metal SL)编译器;或CUDA编译器。4.如权利要求1所述的计算机可读介质,其中,所述编译器基于所述着色语言被选择。5.如权利要求1所述的计算机可读介质,其中,由所述编译器生成的所述内核指令集体系结构通过适配用于配置所述GPU的状态信息而未被改变。6.如权利要求1所述的计算机可读介质,其中,所述状态信息包括以下各项中的一项或多项:资源绑定模式、资源类型信息、单指令多数据SIMD模式;要调遣的线程数以及如何打破线程大小;和/或变量。7.如权利要求1所述的计算机可读介质,其中,生成内核指令集体系结构和相关联的运行时绑定是基于使用所选择的编译器的即时JIT操作。8.如权利要求1所述的计算机可读介质,其中,基于所述运行时绑定来适配用于配置GPU的状态信息在工作负载执行时使用用户模式驱动器UMD发生。9.如权利要求1

8中任一项所述的计算机可读介质,包括存储于其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器用于:部署生成的内核指令集体系结构,以供在使用适配的状态信息配置的所述GPU上执行。10.一种装置,包括:至少一个处理器;以及存储指令的机器可读存储装置,所述指令可由所述至少一个处理器执行,以使所述至少一个处理器用于:访问以着色语言编写的内核源;基于所述着色语言从多个编译器中选择编译器;基于所述内核源和所选择的编译器生成内核指令集体系结构和相关联的运行时绑定;以及基于所述运行时绑定来适配用于配置图形处理单元GPU的状态信息。11.如权利要求10所述的装置,其中,所述着色语言包括以下各项中的一项或多项:C for Metal(CM)、高级着色器语言(HLSL)、OpenCL、标准便携式中间表示V(SPIR

V)、金属着色语言(Metal SL)、或CUDA。
12.如权利要求10所述的装置,其中,所述多个...

【专利技术属性】
技术研发人员:H
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1