至少一个实施例涉及用于在一个或更多个cuda程序的执行期间限制存储器的处理资源。例如,至少一个实施例涉及处理器或计算系统,其用于根据本文所述的各种新颖技术对由一个或更多个图形处理单元(gpu)的一个或更多个处理器执行的一个或更多个线程组设置和执行存储器限制。
背景技术:
1、近年来,并行处理单元(ppu)(诸如图形处理单元(gpu))变得越来越强大。随着ppu计算能力的这种提高,用户无法通过单个中央处理单元(cpu)进程充分利用ppu资源。结果,用户实施了多个独立且不协调的cpu进程来利用gpu资源。负责管理cpu进程使用的ppu资源的调度程序通常不能有效地管理所述资源,从而导致使用ppu资源的cpu进程之间的干扰。
技术实现思路
1.一种机器可读介质,其上存储有应用程序编程接口api,如果该api至少部分地由一个或更多个处理器执行,则使得所述一个或更多个处理器至少:
2.根据权利要求1所述的机器可读介质,其中所述一个或更多个存储器范围参数是数据值,所述数据值包括对由要由所述一个或更多个处理器执行的一个或更多个线程组可用的存储器的数值限制。
3.根据权利要求1所述的机器可读介质,其中一个或更多个进程用于向所述api指示所述一个或更多个存储器范围参数,所述一个或更多个进程用于使得一个或更多个线程组由所述一个或更多个处理器执行。
4.根据权利要求1所述的机器可读介质,其中所述一个或更多个存储器范围参数将通过并行处理库的一个或更多个命令而被指示给所述api。
5.根据权利要求1所述的机器可读介质,其中所述存储器的范围将针对将由所述一个或更多个处理器执行的一个或更多个线程组而被限制。
6.根据权利要求1所述的机器可读介质,其中所述存储器的范围是将由所述一个或更多个处理器执行的一个或更多个线程组可用的存储器的数量。
7.根据权利要求1所述的机器可读介质,其中要由所述一个或更多个处理器执行的一个或更多个线程组中的每一个用于至少部分地基于所述一个或更多个存储器范围参数来访问所述存储器的范围。
8.根据权利要求1所述的机器可读介质,其中一个或更多个线程组将要由所述一个或更多个处理器执行,其中所述一个或更多个线程组的第一子集能够访问经限制的存储器的范围,并且所述一个或更多个线程组的第二子集能够访问全部范围的存储器,所述第一子集通过一个或更多个标识符指示给所述api。
9.一种方法,包括:
10.根据权利要求9所述的方法,其中并行处理库用于至少部分地基于向由所述并行处理库提供的应用程序编程接口api指示的所述一个或更多个存储器范围参数来限制所述存储器的范围。
11.根据权利要求9所述的方法,其中所述一个或更多个存储器范围参数是数据值,所述数据值指示由要由所述一个或更多个处理器执行的一个或更多个线程组可访问的存储器的阈值数量。
12.根据权利要求9所述的方法,进一步包括:向并行处理库指示所述一个或更多个存储器范围参数,所述并行处理库使得所述一个或更多个处理器的存储器被限制。
13.根据权利要求9所述的方法,进一步包括:通过使得由并行处理库提供的一个或更多个命令被执行并且向所述一个或更多个命令指定所述一个或更多个存储器范围参数,向所述并行处理库指示所述一个或更多个存储器范围参数。
14.根据权利要求9所述的方法,进一步包括:由所述一个或更多个处理器执行一个或更多个线程组,其中所述一个或更多个线程组包括用于访问经限制的存储器的范围的第一子集和用于访问全部范围的存储器的第二子集。
15.根据权利要求9所述的方法,进一步包括:向并行处理库指示一个或更多个标识符,其中所述一个或更多个标识符可用于识别根据所述一个或更多个存储器范围参数被限制的一个或更多个线程组。
16.根据权利要求9所述的方法,其中所述一个或更多个处理器是图形处理单元gpu。
17.一种处理器,包括:
18.根据权利要求17所述的处理器,其中所述一个或更多个电路用于通过使得向并行处理库的用于访问存储器的范围外的存储器的一个或更多个请求失败,使得所述并行处理库限制所述存储器的范围,所述一个或更多个请求由所述一个或更多个处理器执行的一个或更多个线程组来执行。
19.根据权利要求17所述的处理器,进一步包括并行处理库,用于提供一个或更多个命令,当所述一个或更多个命令由所述处理器执行时,使得所述并行处理库至少部分地基于所述一个或更多个存储器范围参数来限制所述存储器的范围,其中所述一个或更多个存储器范围参数将使用所述一个或更多个命令而被指示给所述并行处理库。
20.根据权利要求17所述的处理器,其中所述一个或更多个存储器范围参数将使用由并行处理库提供的应用程序编程接口api而被指示给所述并行处理库,所述api使得所述一个或更多个电路限制所述存储器的范围。
21.根据权利要求17所述的处理器,其中所述一个或更多个存储器范围参数用于指示对要由所述一个或更多个处理器执行的一个或更多个线程组可用的存储器的数值限制。
22.根据权利要求17所述的处理器,其中所述存储器的范围是要由所述一个或更多个处理器执行的一个或更多个线程组可使用的存储器的数量。
23.一种系统,包括用于存储指令的存储器,作为一个或更多个处理器执行所述指令的结果,使得所述系统:
24.根据权利要求23所述的系统,进一步包括并行处理库,其中所述一个或更多个存储器范围参数用于使用一个或更多个命令而被指示:当所述一个或更多个命令被执行时,使得所述并行处理库至少部分地限制所述存储器的范围。
25.根据权利要求23所述的系统,其中所述一个或更多个存储器范围参数用于指示数值,其中所述数值由并行处理库使用来限制所述存储器的范围。
26.根据权利要求23所述的系统,其中所述一个或更多个存储器范围参数用于指示对由要由所述一个或更多个处理器执行的一个或更多个线程组可用的存储器的数值限制。
27.根据权利要求23所述的系统,其中要由所述一个或更多个处理器执行的一个或更多个线程组中的每一个用于访问经限制的存储器的范围。
28.根据权利要求23所述的系统,其中所述一个或更多个处理器用于执行一个或更多个线程组,所述一个或更多个线程组包括用于访问所述经限制的存储器的范围的第一子集和用于访问全部范围的存储器的第二子集,所述第一子集通过一个或更多个标识符参数指示。
29.根据权利要求23所述的系统,其中所述一个或更多个处理器是一个或更多个图形处理单元gpu的一个或更多个流式多处理器sm。