至少一个实施例涉及用于为多进程服务配置处理器分区的处理资源。例如,至少一个实施例涉及根据本文描述的各种新颖技术的用于配置一个或更多个并行处理单元的一组流式多处理器以执行一个或更多个线程的处理器或计算系统。
背景技术:
1、诸如图形处理单元(gpu)之类的并行处理单元(ppu)正变得越来越强大。传统上,进程可以通过利用ppu(诸如gpu)执行一组计算操作来加速这些计算操作。然而,单个进程通常不会利用ppu上可用的所有计算和内存带宽容量。为了提高ppu利用率,多进程服务允许来自不同进程的计算操作在ppu上重叠。
技术实现思路
1.一种中央处理单元(cpu),包括:
2.根据权利要求1所述的cpu,其中所述一个或更多个gpu计算资源将由多进程服务来预留,所述多进程服务服务于一个或更多个客户端以指示将被执行的所述一个或更多个软件线程,以及服务于服务器以预留所述一个或更多个gpu资源,所述一个或更多个客户端指示所述一个或更多个指示。
3.根据权利要求1所述的cpu,其中所述一个或更多个指示包括由使得所述一个或更多个软件线程被执行的一个或更多个软件程序设置的环境变量数据。
4.根据权利要求1所述的cpu,其中所述一个或更多个指示包括表示要预留的所述一个或更多个gpu计算资源的百分比的数据。
5.根据权利要求1所述的cpu,其中所述一个或更多个gpu计算资源包括一个或更多个流式多处理器(sm)。
6.根据权利要求1所述的cpu,其中一个或更多个多进程服务(mps)客户端向mps服务器指示将被执行的所述一个或更多个软件线程,所述mps服务器用于管理所述一个或更多个软件线程对所述一个或更多个gpu计算资源的访问。
7.根据权利要求1所述的cpu,其中所述一个或更多个指示包括用于使得所述一个或更多个软件线程由所述一个或更多个gpu计算资源的第一集合执行以及使得第二一个或更多个软件线程由所述一个或更多个gpu计算资源的第二集合执行的信息。
8.一种图形处理单元(gpu),包括:
9.根据权利要求8所述的gpu,其中所述一个或更多个软件线程将由多进程服务的客户端指示,所述多进程服务包括将由所述gpu执行以管理所述一个或更多个gpu计算资源的服务器。
10.根据权利要求8所述的gpu,其中来自一个或更多个cpu的所述一个或更多个指示包括由用户指示的一个或更多个数据值,所述一个或更多个数据值是存储在cpu存储器中的环境变量。
11.根据权利要求8所述的gpu,其中所述一个或更多个gpu计算资源包括一个或更多个处理核心和存储器以执行所述一个或更多个软件线程。
12.根据权利要求8所述的gpu,其中所述一个或更多个指示中的第一指示指示将用于执行所述一个或更多个软件线程的所述一个或更多个gpu计算资源的第一百分比,以及所述一个或更多个指示中的第二指示指示将用于执行另外的一个或更多个软件线程的所述一个或更多个gpu计算资源的第二百分比。
13.根据权利要求8所述的gpu,其中所述一个或更多个gpu计算资源将至少部分地由多进程服务预留,所述多进程服务使得所述gpu的一个或更多个调度器指示所述一个或更多个gpu计算资源中的哪些gpu计算资源将用于执行所述一个或更多个软件线程。
14.一种处理器,包括:
15.根据权利要求14所述的处理器,其中对所述gpu的所述一个或更多个指示包括指示用于执行所述一个或更多个软件线程的所述一个或更多个gpu计算资源的第一百分比以及用于执行另外的一个或更多个软件线程的所述一个或更多个gpu计算资源的第二百分比的数据。
16.根据权利要求14所述的处理器,其中所述cpu用于使得多进程服务(mps)库向所述gpu指示所述一个或更多个指示,所述mps库包括一个或更多个客户端和一个或更多个服务器,所述一个或更多个客户端用于指示将由所述一个或更多个gpu计算资源的一百分比执行的所述一个或更多个软件线程,所述一个或更多个服务器用于使得所述一个或更多个gpu计算资源执行所述一个或更多个软件线程。
17.根据权利要求14所述的处理器,其中对所述gpu的所述一个或更多个指示包括:由多进程服务(mps)的一个或更多个客户端设置的一个或更多个数据值,所述mps至少部分地由所述cpu执行,并且所述mps使得所述一个或更多个gpu计算资源执行所述一个或更多个软件线程。
18.根据权利要求14所述的处理器,其中对所述gpu的所述一个或更多个指示是由多进程服务(mps)至少部分地基于由所述mps的一个或更多个用户设置的一个或更多个环境变量而生成的。
19.根据权利要求14所述的处理器,其中所述一个或更多个gpu计算资源是多处理器,所述多处理器包括两个或更多个处理器核心和存储器以执行所述一个或更多个软件线程中的每一个软件线程。
20.一种机器可读介质,其上存储有一个或更多个指令,所述一个或更多个指令如果由一个或更多个处理器执行,则使所述一个或更多个处理器至少:
21.根据权利要求20所述的机器可读介质,还包括指令,所述指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器执行多进程服务(mps),所述mps包括一个或更多个客户端,所述一个或更多个客户端用于指示所述一个或更多个软件线程并生成所述一个或更多个指示,以及所述mps包括一个或更多个服务器,所述一个或更多个服务器用于预留所述一个或更多个gpu计算资源以执行所述一个或更多个软件线程。
22.根据权利要求20所述的机器可读介质,其中所述一个或更多个gpu计算资源包括一个或更多个gpu的一个或更多个流式多处理器(sm),所述一个或更多个sm包括多个核心和存储器。
23.根据权利要求20所述的机器可读介质,其中所述一个或更多个指示包括将使用所述cpu能够访问的一个或更多个环境变量设置的数据。
24.根据权利要求20所述的机器可读介质,还包括指令,所述指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器执行多进程服务(mps),所述mps使得所述一个或更多个gpu计算资源被预留以执行所述一个或更多个软件线程,以及使得另外的一个或更多个gpu计算资源被预留以执行另外的一个或更多个软件线程。
25.根据权利要求20所述的机器可读介质,其中所述一个或更多个指示包括指示用于执行所述一个或更多个软件线程的所述一个或更多个gpu计算资源的百分比的数据。
26.一种方法,包括:
27.根据权利要求26所述的方法,其中所述一个或更多个指示是指示将被预留以执行所述一个或更多个软件线程的所述一个或更多个gpu计算资源的量的数据值。
28.根据权利要求26所述的方法,其中所述数据值是将由多进程服务的一个或更多个用户设置的环境变量。
29.根据权利要求26所述的方法,还包括:由所述一个或更多个cpu执行多进程服务(mps),所述mps服务于一个或更多个客户端以生成所述一个或更多个指示,以及服务于一个或更多个服务器以至少部分地预留所述一个或更多个gpu计算资源来执行所述一个或更多个软件线程。
30.根据权利要求26所述的方法,其中所述一个或更多个gpu计算资源包括一个或更多个多处理器,并且每个多处理器包括两个或更多个核心和存储器。
31.根据权利要求26所述的方法,还包括:由所述一个或更多个cpu执行多进程服务(mps),所述mps使得所述一个或更多个gpu计算资源被预留以执行所述一个或更多个软件线程,以及使得另外的一个或更多个gpu计算资源被预留以执行另外的一个或更多个软件线程。