【技术实现步骤摘要】
到硬件加速器的基于签名的自动迁移
[0001]本公开总体上涉及数据处理,并且更具体地涉及经由处理器(诸如通用图形处理单元)进行的数据处理,以用于量子计算。
技术介绍
[0002]当前的并行图形数据处理包括被开发成对图形数据执行特定操作的系统和方法,这些特定操作诸如例如,线性内插、曲面细分、栅格化、纹理映射、深度测试等。传统意义上而言,图形处理器使用固定功能计算单元来处理图形数据。然而,更最近地,已使图形处理器的多个部分可编程,使得此类处理器能够支持更广泛种类的操作以处理顶点数据和片段数据。
[0003]为了进一步提升性能,图形处理器典型地实现诸如管线化之类的处理技术,这些处理技术尝试贯穿图形管线的不同部分并行地处理尽可能多的图形数据。具有单指令多线程(single instruction,multiple thread,SIMT)体系结构的并行图形处理器被设计成使图形管线中的并行处理的量最大化。在SIMT体系结构中,成组的并行线程尝试尽可能频繁地一起同步地执行程序指令以提高处理效率。可在Shane Cook的“CUDA编程”第3章第37
‑
51页(2013年)中找到用于SIMT体系结构的软件和硬件的总体概述。
附图说明
[0004]因此,为了可详细地理解本实施例的特征的方式,可参照以下详细描述中的实施例进行对实施例的更特定的描述,在所附附图中图示实施例中的一些。然而,应注意的是,所附附图仅图示典型实施例,并且因此不应视为限制实施例的范围。
[0005]图1是图示配置成 ...
【技术保护点】
【技术特征摘要】
1.一种计算系统,包括:网络控制器;处理器,耦合至所述网络控制器;以及存储器,耦合至所述处理器,所述存储器存储指令,所述指令在由所述处理器执行时使得所述计算系统用于:扫描程序代码以检测库签名或加速器标签中的一者或多者;在检测到所述加速器标签时,用加速器调用替换用所述加速器标签标记的库函数;以及在检测到所述库签名时,执行以下中的一项:用所述加速器调用替换与所述库签名相关联的所述库函数;或者将所述加速器标签应用于与所述库签名相关联的所述库函数以指示所述加速器调用用于替换所述库函数,其中,当所述加速器标签被应用于与所述库签名相关联的所述库函数时,后续扫描被执行以检测所应用的标签并用所述加速器调用替换用所述加速器标签标记的所述库函数。2.如权利要求1所述的计算系统,其中,用所述加速器调用进行替换包括提供多个代码段,每个代码段针对多个硬件加速器中的相应的一个硬件加速器进行优化,并且其中,所述代码段中的一个代码段基于所述多个硬件加速器中的所述相应的一个硬件加速器的可用性被选择。3.如权利要求1所述的计算系统,其中,用所述加速器调用进行替换包括提供与多个硬件加速器对接的代码段,并且其中,所述多个硬件加速器中的一个硬件加速器基于可用性被选择。4.如权利要求1所述的计算系统,其中,所述指令在被执行时进一步使所述计算系统用于:在所述程序代码与一个或多个硬件加速器之间提供接口;以及执行所述程序代码与所述一个或多个硬件加速器中的选定的一个硬件加速器之间的转译,其中所述一个或多个硬件加速器中的所述选定的一个硬件加速器基于可用性被选择。5.如权利要求4所述的计算系统,其中,所述指令在被执行时进一步使所述计算系统用于提供所述一个或多个硬件加速器中的所述选定的一个硬件加速器在运行时所需的一个或多个服务。6.如权利要求1
‑
5中任一项所述的计算系统,其中,所述指令在被执行时进一步使所述计算系统用于至少基于性能、资源、环境或任务优先级中的一项或多项来确定是否用所述加速器调用进行替换。7.一种半导体装置,包括:一个或多个衬底;以及逻辑,耦合至所述一个或多个衬底,所述逻辑至少部分地实现在可配置逻辑或固定功能硬件逻辑中的一者或多者中,所述逻辑用于:扫描程序代码以检测库签名或加速器标签中的一者或多者;在检测到所述加速器标签时,用加速器调用替换用所述加速器标签标记的库函数;以
及在检测到所述库签名时,执行以下中的一项:用所述加速器调用替换与所述库签名相关联的所述库函数;或者将所述加速器标签应用于与所述库签名相关联的所述库函数以指示所述加速器调用用于替换所述库函数,其中,当所述加速器标签被应用于与所述库签名相关联的所述库函数时,后续扫描被执行以检测所应用的标签并用所述加速器调用替换用所述加速器标记标签的所述库函数。8.如权利要求7所述的装置,其中,用所述加速器调用进行替换包括提供多个代码段,每个代码段针对多个硬件加速器中的相应的一个硬件加速器进行优化,并且其中,所述代码段中的一个代码段基于所述多个硬件加速器中的所述相应的一个硬件加速器的可用性被选择。9.如权利要求7所述的装置,其中,用所述加速器调用进行替换包括提供与多个硬件加速器对接的代码段,并且其中,所述多个硬件加速器中的一个硬件加速器基于可用性被选择。10.如权利要求7所述的装置,其中,所述逻辑进一步用于:在所述程序代码与一个或多个硬件加速器之间提供接口;以及执行所述程序代码与所述一个或多个硬件加速器中的选定的一个硬件加速器之间的转译,其中所述一个或多个硬件加速器中的所述选定的一个硬件加速器基于可用性被选择。11.如权利要求10所述的装置,其中,所述逻辑进一步用于提供所述一个或多个硬件加速器中的所述选定的一个硬件加速器在运行时所需的一个或多个服务。12.如权利要求7
‑
11中任一项所述的装置,其中,所述逻辑进一步用于至少基于性能、资源、环境或任务优先级中的一项或多项来确定是否用所述加速器调用进行替换。1...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。