CN115423675A - 一种gpu热插拔方法、装置、电子设备及存储介质 - Google Patents
一种gpu热插拔方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115423675A CN115423675A CN202211366209.0A CN202211366209A CN115423675A CN 115423675 A CN115423675 A CN 115423675A CN 202211366209 A CN202211366209 A CN 202211366209A CN 115423675 A CN115423675 A CN 115423675A
- Authority
- CN
- China
- Prior art keywords
- gpu
- rendering
- resource information
- stopped
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000009877 rendering Methods 0.000 claims abstract description 242
- 230000001960 triggered effect Effects 0.000 claims description 18
- 238000011084 recovery Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及图形处理器管理的领域,尤其是涉及一种GPU热插拔方法、装置、电子设备及存储介质。方法包括:当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;将待停止渲染的GPU对应的资源信息暂存至内存空间;当检测到新GPU的开启指令时,将待停止渲染的GPU对应的资源信息装载至所述新GPU;控制新GPU恢复执行渲染指令。本申请具有在不断电的情况下对GPU进行更换或者升级的效果。
Description
技术领域
本申请涉及图形处理器管理的领域,尤其是涉及一种GPU热插拔方法、装置、电子设备及存储介质。
背景技术
GPU(Graphics Processing Unit,图形处理器),是一种专门在个人电脑、工作站、游戏机、服务器、云端以及一些移动设备,如平板电脑、智能手机等上运行绘图运算工作的微处理器。其主要将计算机***所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示。在利用云端向用户提供服务中,GPU根据图像渲染的相关运行逻辑,通过相应的渲染指令和渲染数据,执行图像的渲染任务。
在相关技术中,若对计算机中的GPU进行更换或者升级时,需要对计算机进行关机断电,然后再对GPU进行更换或升级,也即无法在计算机加电工作,不断电的情况下对GPU进行更换或者升级,从而无法实现对GPU进行热插拔,进而导致用户体验较差。
发明内容
为了解决以上至少一项技术问题,本申请提供一种GPU热插拔方法、装置、电子设备及存储介质。
第一方面,本申请提供一种GPU热插拔方法,采用如下的技术方案:
一种GPU热插拔方法,包括:
当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;
将所述待停止渲染的GPU对应的资源信息暂存至内存空间;
当检测到新GPU的开启指令时,将所述待停止渲染的GPU对应的资源信息装载至所述新GPU;
控制所述新GPU恢复执行渲染指令。
通过采用上述技术方案,在检测到停止渲染指令时,通过将待停止渲染的GPU对应的资源信息先暂存至内存空间,然后当检测到针对新的GPU的开启指令时,将暂存至内存空间中的待停止渲染的GPU对应的资源信息转移至新的GPU中,然后控制新的GPU执行渲染指令,进行渲染工作,从而可以实现在计算机进行加电工作、不断电的情况下对GPU进行更换或者升级,也即可以实现对GPU进行热插拔,以进一步地提升用户体验。
在一种可能的实现方式中,所述内存空间包括:RAM以及HDD ;所述将所述待停止渲染的GPU对应的资源信息暂存至内存空间,包括以下任一项:
将所述待停止渲染的GPU对应的资源信息暂存至所述RAM;
将所述待停止渲染的GPU对应的资源信息暂存至所述HDD;
基于所述待停止渲染的GPU对应的资源信息以及所述RAM的剩余存储空间,确定待暂存至所述RAM的资源信息和/或待暂存至所述HDD的资源信息,并暂存至对应的内存空间。
通过采用上述技术方案,在一种可能的实现方式中,通过将待停止渲染的GPU对应的资源信息暂存至RAM,能够借助RAM运算速率高的特点,提高资源信息的暂存和调取速度,以提高GPU热插拔的效率;在另一种可能的实现方式中,通过将待停止渲染的GPU对应的资源信息暂存至HDD,而不暂存在RAM中,能够避免因资源信息的信息量过大导致RAM的剩余存储空间过小而影响计算机的运行速度,从而在避免对计算机运行速度带来影响的前提下也可以实现对GPU的热插拔;在另一种可能的实现方式中,通过基于待停止渲染的GPU对应的资源信息以及RAM的剩余存储空间,确定待暂存至RAM的资源信息和/或待暂存至HDD的资源信息,能够在实现针对GPU热插拔效率的同时,提高计算机的处理速度。
在一种可能的实现方式中,所述方法还包括以下任一项:
获取可运行的GPU的设备信息,并控制显示所述可运行的GPU的设备信息,并基于用户的选择操作,从可运行的GPU中确定所述新GPU;
获取可运行的GPU的设备信息,并基于所述可运行的GPU的设备信息确定所述新GPU;
获取最新***的GPU,并将所述最新***的GPU确定为所述新GPU。
通过采用上述技术方案,在一种可能的实现方式中,用户从可运行的GPU的设备信息中选择新的GPU,作为待执行渲染操作的GPU,由于新的GPU是由用户通过人工触发选择确定,从而确定出的新的GPU的准确度较高,进一步可以提升用户体验;在另一种可能的实现方式中,通过可运行的GPU的设备信息,从可运行的GPU中确定出新的GPU作为待执行渲染操作的GPU,避免人工操作,以提升GPU热插拔的智能化以及速度,进而也可以进一步地提升用户体验;在另一种可能的实现方式中,直接将最新***的GPU确定为新的GPU,作为待执行渲染操作的GPU,以为GPU热插拔确定新的GPU提供了一种可能的实现方式。
在一种可能的实现方式中,所述停止渲染指令中包含待停止渲染的GPU;所述方法还包括以下任一项;
当检测到用户触发的GPU断开请求时,基于所述GPU断开请求确定待停止渲染的GPU,并基于所述待停止渲染的GPU生成停止渲染指令;
获取当前每个GPU对应的运行状态信息,并基于所述当前每个GPU对应的运行状态信息确定待停止渲染的GPU,并基于所述停止渲染的GPU生成停止渲染指令。
通过采用上述技术方案,在一种可能的实现方式中,通过用户的触发以确定出待停止渲染的GPU,生成对应的停止渲染指令,从而能够通过用户的选择以实现热插拔,以提高对GPU进行热插拔的灵活度,进一步地可以提升用户体验;在另一种可能的实现方式中,通过每个GPU当前对应的运行状态信息以从中确定出待停止渲染的GPU,并针对该待停止渲染的GPU生成对应的停止渲染指令,能够提升确定出的待停止渲染的GPU的准确度,进而可以提升对GPU进行热插拔的准确度,进一步地可以提升用户体验。
在一种可能的实现方式中,所述将所述待停止渲染的GPU对应的资源信息暂存至内存空间,之后还包括:
关闭所述待停止渲染的GPU。
在一种可能的实现方式中,所述若待停止渲染的GPU包含至少两个第一GPU且所述新的GPU包含至少两个第二GPU,则,
检测到新GPU的开启指令的方式,包括以下任意一项:
检测用户触发的新GPU的开启指令;
当检测到至少一个第二GPU时,触发所述至少一个第二GPU对应的开启指令;
当检测到所述至少两个第二GPU时,触发所述至少两个GPU对应的开启指令。
通过采用上述技术方案,在一种可能的实现方式中,当检测到用户触发新GPU的开启指令时才将停止渲染的资源信息装载至新GPU中,通过用户对资源信息装载进行控制以及对渲染恢复进行控制,从而可以提升对GPU进行热插拔的灵活度,进而可以提升用户体验;在另一种可能的实现方式中,当新的GPU包含至少两个第二GPU,只要检测到其中至少一个第二GPU既可以进行资源信息装载,而不需要等到检测到所有的第二GPU后才进行资源信息的装载,以提升热插拔的效率,进一步地提升用户体验;在另一种可能的实现方式中,由于一项渲染工作可能需要所有的GPU参与渲染,当检测到所有的第二GPU后,以使得在对所有GPU进行资源装载完毕后即可开启渲染工作,从而可以提高通过GPU进行渲染的准确性,进而可以提升用户体验。
在一种可能的实现方式中,所述将所述待停止渲染的GPU对应的资源信息装载至所述新GPU,包括:
基于用户的触发操作,从各个第一GPU分别对应的资源信息中确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息分别装载至对应的第二GPU;
基于所述各个第一GPU分别对应的资源信息所占用的存储空间以及所述各个第二GPU分别对应的存储空间,确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息装载至对应的第二GPU。
通过采用上述技术方案,在一种可能的实现方式中,通过用户的触发选择操作,以确定出每个第二GPU待进行装载的资源信息以进行装载,在保证对GPU进行资源信息装载的准确度的同时保证对GPU进行资源装载的灵活度,以提升用户体验;在另一种可能的实现方式中,基于资源信息所占用的存储空间以及待进行资源装载的各个第二GPU分别对应的存储空间,以进行资源装载,从而可以降低在资源装载过程中存储空间不足的情况出现,进而可以提升GPU热插拔的准确度,进一步可以提升用户体验。
第二方面,本申请提供一种GPU热插拔装置,采用如下的技术方案:
一种GPU热插拔装置,包括:资源信息获取模块、信息暂存模块、信息装载模块以及指令恢复模块,其中,
资源信息获取模块,用于当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;
信息暂存模块,用于将所述待停止渲染的GPU对应的资源信息暂存至内存空间;
信息装载模块,用于当检测到新GPU的开启指令时,将所述待停止渲染的GPU对应的资源信息装载至所述新GPU;
指令恢复模块,用于控制所述新GPU恢复执行渲染指令。
通过采用上述技术方案,资源信息获取模块在检测到停止渲染指令时,信息暂存模块通过将由资源信息获取模块获取的待停止渲染的GPU对应的资源信息先暂存至内存空间,然后当信息装载模块检测到针对新的GPU的开启指令时,将暂存至内存空间中的GPU对应的资源信息转移至新的GPU中,然后指令恢复模块控制新的GPU执行渲染指令,进行渲染工作,从而可以实现在计算机进行加电工作、不断电的情况下对GPU进行更换或者升级,也即可以实现对GPU进行热插拔,以进一步地提升用户体验。
在一种可能的实现方式中,所述信息暂存模块,包括以下任一项:
第一信息暂存单元,用于将所述待停止渲染的GPU对应的资源信息暂存至所述RAM;
第二信息暂存单元,用于将所述待停止渲染的GPU对应的资源信息暂存至所述HDD;
第三信息暂存单元,用于基于所述待停止渲染的GPU对应的资源信息以及所述RAM的剩余存储空间,确定待暂存至所述RAM的资源信息和/或待暂存至所述HDD的资源信息,并暂存至对应的内存空间。
在一种可能的实现方式中,所述GPU热插拔装置,还包括以下任一项:
第一新GPU确定模块,用于获取可运行的GPU的设备信息,并控制显示所述可运行的GPU的设备信息,并基于用户的选择操作,从可运行的GPU中确定所述新GPU;
第二新GPU确定模块,用于获取可运行的GPU的设备信息,并基于所述可运行的GPU的设备信息确定所述新GPU;
第三新GPU确定模块,用于获取最新***的GPU,并将所述最新***的GPU确定为所述新GPU。
在一种可能的实现方式中,所述GPU热插拔装置,还包括以下任一项:
第一指令生成模块,用于当检测到用户触发的GPU断开请求时,基于所述GPU断开请求确定待停止渲染的GPU,并基于所述待停止渲染的GPU生成停止渲染指令;
第二指令生成模块,获取当前每个GPU对应的运行状态信息,并基于所述当前每个GPU对应的运行状态信息确定待停止渲染的GPU,并基于所述停止渲染的GPU生成停止渲染指令。
在一种可能的实现方式中,所述GPU热插拔装置,还包括:GPU关闭模块,其中,
GPU关闭模块,用于关闭所述待停止渲染的GPU。
在一种可能的实现方式中,若待停止渲染的GPU包含至少两个第一GPU且所述新的GPU包含至少两个第二GPU,则,所述信息暂存模块,还包括以下任意一项:
第一开启指令触发单元,用于检测用户触发的新GPU的开启指令;
第二开启指令触发单元,用于当检测到至少一个第二GPU时,触发所述至少一个第二GPU对应的开启指令;
第三开启指令触发单元,当检测到所述至少两个第二GPU时,触发所述至少两个GPU对应的开启指令。
在一种可能的实现方式中,所述信息装载模块,还包括:第一信息装载单元以及第二信息装载单元,其中,
第一信息装载单元,用于基于用户的触发操作,从各个第一GPU分别对应的资源信息中确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息分别装载至对应的第二GPU;
第二信息装载单元,用于基于所述各个第一GPU分别对应的资源信息所占用的存储空间以及所述各个第二GPU分别对应的存储空间,确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息装载至对应的第二GPU。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行上述GPU热插拔的方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行上述GPU热插拔方法的计算机程序。
第五方面,提供一种GPU热插拔***,包括:Linux服务器以及用户客户端;所述Linux服务器包含至少一个GPU以及硬件图形渲染器,其中,所述Linux服务器与所述用户客户端进行进行交互;所述至少一个GPU与所述硬件图形渲染器进行信息交互;其中,
所述用户客户端,用于生成停止渲染指令以及新GPU的开启指令,并发送至所述Linux服务器;
所述硬件图形渲染器,用于执行第一方面任一种可能的实现方式所示的方法;
所述至少一个GPU,用于执行渲染指令,进行渲染操作。
综上所述,本申请包括以下有益技术效果:
在检测到停止渲染指令时,通过将待停止渲染的GPU对应的资源信息先暂存至内存空间,然后当检测到针对新的GPU的开启指令时,将暂存至内存空间中的GPU对应的资源信息转移至新的GPU中,然后控制新的GPU执行渲染指令,进行渲染工作,从而可以实现在计算机进行加电工作、不断电的情况下对GPU进行更换或者升级,也即可以实现对GPU进行热插拔,以进一步地提升用户体验。
附图说明
图1是本申请实施例一种可实施GPU热插拔的Android容器***框图;
图2是本申请实施例GPU热插拔方法的流程示意图;
图3是本申请实施例GPU热插拔装置的方框示意图;
图4是本申请实施例电子设备的示意图。
具体实施方式
以下结合附图1-4对本申请作进一步详细说明。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种GPU热插拔方法,可以应用于ARM架构下的Android容器***或者Linux***,也可以应用于基于x86架构下的Windows***或者MacOS***,在本申请实施例中以在ARM架构下的Android容器***为例进行介绍。
参照图1为一种基于ARM架构下的Android容器***,其中,该***中可以包括:用户客户端、云游戏管理平台、Linux服务器;用户客户端可以与Linux服务器进行信息交互,例如可以用于接收相关游戏程序并为用户提供对应的游戏服务;用户客户端可以包括:手机、平板电脑、笔记本电脑、智能电视以及个人电脑等;云游戏管理平台与Linux服务器进行信息交互,用于对Linux服务器进行管理;例如,Linux服务器用于存储游戏应用以及对游戏应用的处理;其中,Linux服务器可以包括:Android容器管理器、Android容器服务、Android***容器、硬件以及cgroups;Android容器管理器分别与Android容器服务以及硬件进行信息交互,用于对Android容器进行管理,Android容器服务与Android***容器进行信息交互,例如可以用于为Android游戏应用提供数据处理以及图像渲染相应处理程序,还可以用于提供Android游戏应用运行环境;硬件分别与Android容器服务、Android容器管理器、用户客户端以及游戏管理平台进行信息交互,用于提供设备连接服务以及图像渲染服务;cgroups与Android***容器进行信息交互,用于为***资源管理提供一个统一的框架;其中,Android容器服务可以包括:音频编码、实时通信协议以及硬件图形渲染器;音频编码用于对游戏应用的音频数据进行处理;实时通信协议用于为Android容器服务器提供通信服务;硬件图像渲染器用于游戏应用的图像渲染的管理;Android***容器包含Android游戏应用;硬件包括:网络接口控制器以及GPU;网络接口控制器分别与Android容器管理器、实时通信协议、用户客户端以及云游戏管理平台连接,用于提供网络连接接口;GPU用于对Android游戏应用的图像进行渲染。
进一步地,本申请实施例提供了一种GPU热插拔方法,由电子设备执行,例如,该电子设备可以为上述***中所述的Linux服务器,参照图2,该方法可以包括:步骤S201、步骤S202、步骤S203以及步骤S204,其中,
步骤S201、当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息。
对于本申请实施例,停止渲染指令为电子设备根据用户输入的断开请求信息或根据GPU的运行情况而生成的使GPU终止渲染任务的指令;资源信息包含GPU在参与到图像渲染中的游戏应用的渲染指令以及GPU参与到图像渲染的运算信息。
GPU在云游戏服务中,为游戏应用提供图像渲染服务,以使得游戏应用在用户客户端能够显示清晰的图像。具体地,GPU接收关于游戏应用的渲染指令,针对游戏应用的图像相关信息进行渲染;当GPU出现故障或者GPU需要进行升级时,则需要对GPU进行更换或者升级,而对GPU进行更换或者升级的具体过程中,硬件图像渲染器在检测到停止渲染指令时,硬件图形渲染服务器暂停所有GPU的指令请求,并且硬件图形渲染服务器将获取待停止渲染的GPU中对应的资源信息。
进一步说明的,停止渲染指令可以包括两种方式:其一,根据用户输入的GPU断开请求生成停止渲染指令;其二:在GPU进行图形渲染过程中,硬件图形渲染器可以获取GPU的运行状态,当硬件图形渲染器检测到发生损害的GPU或者待进行升级的GPU时,可以生成停止渲染指令。
进一步说明的,当硬件图形渲染器收集到的资源信息后,此时的待停止渲染的GPU已不参与到图像渲染的任务中,硬件图像渲染器生成关闭指令,进而关闭该待停止渲染的GPU,使该待停止渲染的GPU与Linux服务器(硬件图形渲染器)之间断开服务连接。
步骤S202、将待停止渲染的GPU对应的资源信息暂存至内存空间。
对于本申请实施例,硬件图形渲染器获取到待停止渲染的GPU对应的资源信息后,待停止渲染的GPU从对游戏应用的图像渲染任务中脱离;此时,对应的资源信息无对应的GPU作为运行载体,该资源信息无法继续参与到图像渲染任务的运算中;但为了不影响对游戏应用的图像渲染的运算逻辑,之后还需要将待停止渲染的资源信息转移至新的GPU中,为此需要对该资源信息发送至内存空间中进行暂存处理,在具备一定条件后,继续使用该资源信息对游戏应用对应的图像进行渲染;其中,可以选用具备信息存储功能的设备作为暂存资源信息的内存空间,例如,RAM(Random Access Memory,随即存取存储器)和/或HDD(Hard Disk Drive,硬盘驱动器)。
步骤S203、当检测到新GPU的开启指令时,将待停止渲染的GPU对应的资源信息装载至新GPU。
对于本申请实施例,硬件图形渲染器获取的资源信息暂存至对应的内存空间,此时的待停止渲染的GPU已完全从图像渲染的任务中脱离,致使可以对将该待停止渲染的GPU从Linux服务器中移除,进而更换成新GPU;在GPU更换过程中,例如,可以由用户进行人为插拔来完成,当新GPU***至对应GPU卡槽时,硬件图形渲染器与新GPU之间建立信息交互的关系;电子设备检查到新GPU***,即检测到GPU开启指令,硬件图形渲染器打开新的GPU,并将将暂存至内存空间资源信息装载至新GPU中。
S204、控制新GPU恢复执行渲染指令。
在通过上述实施例,硬件图形渲染器在将内存空间中暂存的资源信息转移至对应的新的GPU后,可以控制新GPU恢复执行渲染指令,继续执行渲染操作。
具体地,在一种可能的实现方式中,硬件图形渲染器在将内存空间中暂存的资源信息转移至对应的新的GPU后,可以不需要任何指令,硬件图形渲染器即可以控制新GPU恢复执行渲染指令;在另一种可能的实现方式中,硬件图形渲染器在将内存空间中暂存的资源信息转移至对应的新的GPU后,若检测用户触发的恢复执行渲染指令,则硬件图形渲染器控制新GPU恢复执行渲染指令;在又一种可能的实现方式中,若检测到恢复执行渲染指令,若后续检测到硬件图形渲染器将内存空间中暂存的资源信息转移至对应的新GPU后,则硬件图形渲染器控制新的GPU恢复执行渲染指令。
本申请实施例提供了一种GPU热插拔方法,在检测到停止渲染指令时,通过将待停止渲染的GPU对应的资源信息先暂存至内存空间,然后当检测到针对新的GPU的开启指令时,将暂存至内存空间中的GPU对应的资源信息转移至新的GPU中,然后控制新的GPU执行渲染指令,进行渲染工作,从而可以实现在计算机进行加电工作、不断电的情况下对GPU进行更换或者升级,也即可以实现对GPU进行热插拔,以进一步地提升用户体验。
具体地,本申请实施例中的停止渲染指令中包含待停止渲染的GPU信息;也即硬件图形渲染器在获取到停止渲染指令,即可以根据停止渲染指令中携带的待停止渲染的GPU信息确定待进行更换或者待进行升级的GPU,硬件图形渲染器在检测到停止渲染指令之前还可以包括:步骤Sa(图中未示出)以及步骤Sb(图中未示出)中的任一项,其中,
步骤Sa:当检测到用户触发的GPU断开请求时,基于GPU断开请求确定待停止渲染的GPU,并基于待停止渲染的GPU生成停止渲染指令。
具体地,用户在发现正在执行的GPU出现损害,或者用户对当前的GPU的图像渲染效果不满意,需要更换GPU时,用户通过用户客户端触发待停止渲染的GPU的断开请求,此时用户客户端通过网络接口控制器并基于实时通信协议,将GPU的断开请求推送至Android容器服务,以使Android容器服务包含的硬件图形渲染器生成对应的停止渲染指令,并发送至待停止渲染的GPU。
步骤Sb:获取当前每个GPU对应的运行状态信息,并基于当前每个GPU对应的运行状态信息确定待停止渲染的GPU,并基于停止渲染的GPU生成停止渲染指令。
具体地,当出现GPU损坏或者需要进行升级,用户没能及时发现,此时,为了不影响图像渲染的进程,则需要进行自动监测。具体地,硬件图形渲染器获取每个GPU对应的包含GPU供电状态、渲染运算状态等信息的运行状态信息,随后,基于每个GPU对应的运行状态信息,确定出需要进行更换或者升级的GPU,即待停止渲染的GPU,进而生成对应的停止渲染指令。在本申请实施例中,硬件图形渲染器可以实时对每个GPU的运行状态信息进行监测,也可以每隔预设时间对每个GPU的运行状态信息进行监测,也可以当检测到用户触发的GPU运行状态监测指令时,对每个GPU的运行状态信息进行监测,又或者,根据GPU运行状态监测指令确定出待进行监测的GPU,以对待进行监测的GPU的运行状态进行监测。
例如,硬件图形渲染器获取当前各个GPU(GPU1以及GPU2)分别对应的运行状态信息,从中确定出 GPU1的渲染效率降低,也即此时GPU1可能出现损坏或者需要进行升级,此时可以确定出待停止渲染的GPU为GPU1,并基于该GPU1生成停止渲染指令。
进一步地,在通过上述实施例得到停止渲染指令后,获取待停止渲染的GPU对应的资源信息,并暂存至对应的内存空间。在本申请实施例中,内存空间可以包括:RAM以及HDD,将待停止渲染的GPU对应的资源信息暂存至内存空间过程的方式,具体可以包括:方式一、方式二以及方式三中的任一方式,其中,
方式一:将待停止渲染的GPU对应的资源信息暂存至RAM。在本申请实施例中,硬件图形渲染器在获取到待停止渲染的GPU对应的资源信息后,直接控制待停止渲染的GPU对应的资源信息暂存至RAM。
进一步地,由于RAM的读写速度很快,通过将待停止渲染的GPU对应的资源信息暂存至RAM,能够提高对待停止渲染的GPU对应的资源信息进行读写的速度,从而可以提高对GPU进行热插拔的速度,以进一步地提升用户体验。
方式二:将待停止渲染的GPU对应的资源信息暂存至HDD。在本申请实施例中,硬件图形渲染器在获取到待停止渲染的GPU对应的资源信息后,直接控制待停止渲染的GPU对应的资源信息暂存至HDD。
进一步地,一般情况下,HDD的内存空间相对小于RAM的内存空间,并且在RAM的内存空间不足时,可能会导致计算机的运行速度变慢,因此将待停止渲染的GPU对应的资源信息直接暂存至HDD,可以在实现GPU热插拔的同时,避免对计算机的运行速度造成影响。
方式三:基于待停止渲染的GPU对应的资源信息以及RAM的剩余存储空间,确定待暂存至RAM的资源信息和/或待暂存至HDD的资源信息,并暂存至对应的内存空间。在本申请实施例中,硬件图形渲染器在获取到待停止渲染的GPU对应的资源信息后,可以确定这些待停止渲染的GPU对应的资源信息所需占用的内存空间,以及RAM、HDD等当前剩余的存储空间,基于此确定待暂存至RAM的资源信息和/或待暂存至HDD的资源信息。
需要说明的是,若待停止渲染的GPU对应的资源信息所需占用的内存空间小于RAM的剩余存储空间,也即即使将该资源信息存储至RAM,也不会影响计算机的运行速度,此时可以将待停止渲染的GPU对应的资源信息暂存至RAM;若待停止渲染的GPU对应的资源信息所需占用的内存空间不低于RAM的剩余存储空间,此时可以直接将待停止渲染的GPU对应的资源信息全部存储至对应的HDD,若待停止渲染的GPU对应的资源信息所需占用的内存空间不小于HDD的剩余空间,此时可以基于待停止渲染的GPU对应的资源信息所需占用的内存空间、RAM当前剩余存储空间以及HDD当前剩余存储空间确定出待存储至RAM的资源信息以及待存储至HDD的资源信息,进而在对应的存储空间进行资源信息存储。
进一步说明的,还可以根据RAM以及HDD的剩余存储量,将该资源信息进行拆分,将拆分后的部分信息存储至对应的RAM和HDD中,其中,该资源信息可根据信息的类别进行拆分,如将资源信息拆分成指令信息和GPU图像渲染运算信息,亦可以将资源信息根据当前RAM和HDD的存储空间剩余量进行拆分,前提保证RAM内所存储的信息的量不影响到RAM服务器的运算速度。
进一步地,在通过上述实施例将待停止渲染的GPU对应的资源信息缓存至对应的内存空间后,可以关闭待停止渲染的GPU,即硬件图形渲染器包含的GPU资源管理器释放分配给该待停止渲染的GPU的资源,例如待停止渲染的GPU的句柄等,以及所使用到的内存,使得待停止渲染的GPU与***之间的线程断开,停止信息交互,由Android容器管理器控制待停止渲染的GPU断电,并将待停止渲染的GPU从对应的外设组件互联标准(PeripheralComponent Interconnect,PCI)插槽中进行移除,又或者对GPU进行升级。若用户从PCI插槽中对GPU进行移除后,后续在该PCI插槽中***新的GPU;若是对待停止渲染的GPU进行升级,则硬件图形渲染器控制该待停止渲染的GPU进行升级。
进一步说明的,若用户在对应的PCI插槽中***新的GPU,或者对待停止渲染的GPU进行升级后,此时进行资源转移以及恢复渲染的操作。具体地,当检测到新GPU的开启指令时,将待停止渲染的GPU对应的资源信息装载至的新GPU,前提是确定出新GPU;考虑到游戏应用存在3D图像,即将会使用多个GPU进行图像渲染,同时考虑到用户对游戏应用实施监测,具有人为干预的可能性,所以在确定新GPU的过程中,存在三种确认方式,具体如下所示:
方式一:获取可运行的GPU的设备信息,并控制显示可运行的GPU的设备信息,并基于用户的选择操作,从可运行的GPU中确定新GPU。
具体地,硬件图形渲染器可以获取可运行的GPU的设备信息,并通过用户客户端控制显示可运行的GPU的设备信息,用户可以从显示的可运行的GPU的设备信息中选择出新GPU,以恢复执行对应的渲染操作。在本申请实施例中,GPU的插拔一般是由用户操作的,因此通过用户从可运行的GPU的设备信息中选择新的GPU,可以提高确定新GPU的准确度,以进一步地提升用户体验。
方式二:获取可运行的GPU的设备信息,并基于可运行的GPU的设备信息确定新GPU。
具体地,硬件图形渲染器获取当前可运行的GPU的设备信息,并对获取到的GPU的设备信息进行分析,根据分析结果,确定出新GPU。在本申请实施例中的新GPU为最新***的GPU或者为最新升级的GPU。
方式三:获取最新***的GPU,并将最新***的GPU确定为新GPU。在本申请实施例中,硬件图形渲染器在确定出新GPU以通过新GPU恢复渲染操作,因此,一般情况下最新***的GPU即为用户更换后需要进行渲染操作的GPU,因此可以将最新***的GPU作为待恢复渲染操作的GPU。
需要说明的是,硬件图形渲染器可以自动识别出最新***的GPU,也可以由用户通过用户客户端输入最新***的GPU信息,以使得硬件图形渲染器确定出最新***的GPU。具体地,在本申请实施例中,内存中可以存储中各个GPU分别对应的设备信息,也即硬件图形渲染器可以获取当前可运行的各个GPU的设备信息,并与内存中存储的各个GPU分别对应的设备信息进行匹配,以确定出新GPU。
具体地,在GPU参与到图像渲染过程中,若存在至少两个GPU需要进行更换或者需要进行升级,此时可以对至少两个GPU进行更换或者进行升级;也即,待停止渲染的GPU包含至少两个第一GPU且新的GPU包含至少两个第二GPU。例如,待进行更换的第一GPU为GPU1以及GPU2,更换后的GPU为GPU3以及GPU4;若是对至少两个第一GPU进行升级,则至少两个第二GPU为升级后的至少两个第一GPU,例如,待进行升级的第一GPU为GPU1以及GPU2,则至少两个第二GPU为升级后的GPU1以及GPU2;基于此,检测到新GPU的开启指令的方式,包括以下任意一项:
方式一:检测用户触发的新GPU的开启指令。在本申请实施例中,当硬件图形渲染器中的GPU资源管理器检测到用户触发的新GPU的开启指令时,即可以进行资源信息的转移,并控制恢复执行渲染指令。
需要说明的是,用户触发的新GPU的开启指令可以是针对所有新的GPU(至少两个第二GPU)的开启指令,例如,对GPU3以及GPU4的开启指令,又或者对升级后的GPU1以及升级后的GPU2的开启指令;用户触发的新GPU的开启指令可以是针对部分GPU的开启指令,也即通过用户触发的新GPU的开启指令,确定出待进行开启的GPU,例如,该开启指令可以是针对GPU3的开启指令,又或者是对升级后的GPU1的开启指令。
方式二:当检测到至少一个第二GPU时,触发至少一个第二GPU对应的开启指令。
具体地,电子设备在检测到至少一个第二GPU时,此时的至少一个第二GPU具备装载资源信息的条件,为了提高GPU热插拔的效率,将当前已检测出的该至少一个第二GPU时,硬件图形渲染器中的GPU资源管理器触发该至少一个第二GPU对应的开启指令,使得该至少一个第二GPU开始执行后续的资源信息装载操作,从而实现检测第二GPU与触发第二GPU对应的开启指令并行执行,进而提高了GPU热插拔的效率。
例如,从PCI插槽中拔出的GPU包括GPU1和GPU2,此时检测到GPU3,不需要同时检测到GPU4,即硬件图形渲染器可以触发针对GPU3的开启指令。
方式三:当检测到至少两个第二GPU时,触发至少两个GPU对应的开启指令。
具体地,当硬件图形渲染器检测到存在所有第二GPU时,针对该所有第二GPU触发对应的开启指令,即检测第二GPU过程完成时,开始由硬件图形渲染器中的GPU资源管理器触发检测到的第二GPU对应的开启指令,使得所检测到所有第二GPU开启,具备后续装载资源信息的条件。
例如,从PCI插槽中拔出的GPU包括GPU1和GPU2,此时检测到GPU3的同时检测到GPU4,即硬件图形渲染器触发针对GPU3和GPU4的开启指令。具体地,通过三种确定新GPU的方式中任意一种方式,检测到针对GPU的开启指令,随即开始进行将资源信息装载至新GPU,具体地,将待停止渲染的GPU对应的资源信息装载至新GPU,可以包括以下资源信息装载方式中的任意一种:
方式一:基于用户的触发操作,从各个第一GPU分别对应的资源信息中确定各个第二GPU分别对应的资源信息,并将各个第二GPU分别对应的资源信息分别装载至对应的第二GPU。
具体地,在***至少两个第二GPU时,用户通过用户客户端触发操作,该操作为用户确定第一GPU对应的资源信息与第二GPU之间的对应关系的操作,硬件图形渲染器可以确定出各个第一GPU与各个第二GPU之间的对应关系,又或者可以确定待装载至各个第二GPU中的资源信息。
例如,硬件图形渲染器基于用户的触发操作,可以确定出GPU1与GPU3存在对应关系,GPU2和GPU4存在对应关系;又或者,硬件图形渲染器基于用户的触发操作,可以确定出待装载至GPU3中的资源信息为GPU1所对应的资源信息,待装载至GPU4中的资源信息为GPU2所对应的资源信息。
方式二:基于各个第一GPU分别对应的资源信息所占用的存储空间以及各个第二GPU分别对应的存储空间,确定各个第二GPU分别对应的资源信息,并将各个第二GPU分别对应的资源信息装载至对应的第二GPU。
对于本申请实施例,硬件图形渲染器在获取到各个第一GPU分别对应的资源信息后,确定出每个GPU对应的资源信息所占用的存储空间,当将各个第二GPU***后或者升级成功后,硬件图形渲染器确定出各个第二GPU分别对应的存储空间,随后,根据资源信息确定出的对应的存储空间与第二GPU对应的存储空间进行对比匹配,进而确定待装载至各个第二GPU中的资源信息,随后,从内存空间中调取出资源信息并发送至对应的第二GPU进行装载。
需要说明的是,硬件图形渲染器在对至少一个第二GPU进行装载后,即可以控制装载后的第二GPU恢复渲染操作,又或者在检测到所有的第二GPU均装载结束后,才控制对装载后的第二GPU恢复渲染操作。例如,当检测到将资源信息已装载至对应的GPU3,此时可以控制GPU3恢复渲染操作,又或者当检测到将资源信息已装载至对应的GPU3以及GPU4,此时也可以控制GPU3和GPU4恢复渲染操作。
上述实施例从方法流程的角度介绍一种GPU热插拔的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种GPU热插拔的装置,具体详见下述实施例。
参照图3,GPU热插拔装置,300具体可以包括:资源信息获取模块301、信息暂存模块302、信息装载模块303以及指令恢复模块304,其中,
资源信息获取模块301,用于当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;
信息暂存模块302,用于将待停止渲染的GPU对应的资源信息暂存至内存空间;
信息装载模块303,用于当检测到新GPU的开启指令时,将待停止渲染的GPU对应的资源信息装载至新GPU;
指令恢复模块304,用于控制新GPU恢复执行渲染指令。
本申请实施例的一种可能的实现方式,信息暂存模块302,包括以下任一项:
第一信息暂存单元,用于将待停止渲染的GPU对应的资源信息暂存至RAM;
第二信息暂存单元,用于将待停止渲染的GPU对应的资源信息暂存至HDD;
第三信息暂存单元,用于基于待停止渲染的GPU对应的资源信息以及RAM的剩余存储空间,确定待暂存至RAM的资源信息和/或待暂存至HDD的资源信息,并暂存至对应的内存空间。
本申请实施例的一种可能的实现方式,GPU热插拔装置300,还包括以下任一项:
第一新GPU确定模块,用于获取可运行的GPU的设备信息,并控制显示可运行的GPU的设备信息,并基于用户的选择操作,从可运行的GPU中确定新GPU;
第二新GPU确定模块,用于获取可运行的GPU的设备信息,并基于可运行的GPU的设备信息确定新GPU;
第三新GPU确定模块,用于获取最新***的GPU,并将最新***的GPU确定为新GPU。
本申请实施例的一种可能的实现方式,GPU热插拔装置300,还包括以下任一项:
第一指令生成模块,用于当检测到用户触发的GPU断开请求时,基于GPU断开请求确定待停止渲染的GPU,并基于待停止渲染的GPU生成停止渲染指令;
第二指令生成模块,获取当前每个GPU对应的运行状态信息,并基于当前每个GPU对应的运行状态信息确定待停止渲染的GPU,并基于停止渲染的GPU生成停止渲染指令。
本申请实施例的一种可能的实现方式,GPU热插拔装置300,还包括:GPU关闭模块,其中,
GPU关闭模块,用于关闭待停止渲染的GPU。
本申请实施例的一种可能的实现方式,若待停止渲染的GPU包含至少两个第一GPU且新的GPU包含至少两个第二GPU,则,信息暂存模块302,还包括以下任意一项:
第一开启指令触发单元,用于检测用户触发的新GPU的开启指令;
第二开启指令触发单元,用于当检测到至少一个第二GPU时,触发至少一个第二GPU对应的开启指令;
第三开启指令触发单元,当检测到至少两个第二GPU时,触发至少两个GPU对应的开启指令。
本申请实施例的一种可能的实现方式,信息装载模块303,还包括:第一信息装载单元以及第二信息装载单元,其中,
第一信息装载单元,用于基于用户的触发操作,从各个第一GPU分别对应的资源信息中确定各个第二GPU分别对应的资源信息,并将各个第二GPU分别对应的资源信息分别装载至对应的第二GPU;
第二信息装载单元,用于基于各个第一GPU分别对应的资源信息所占用的存储空间以及各个第二GPU分别对应的存储空间,确定各个第二GPU分别对应的资源信息,并将各个第二GPU分别对应的资源信息装载至对应的第二GPU。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还从实体装置的角度介绍了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。可选地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
处理器401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现前述方法实施例所示的内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种GPU热插拔方法,其特征在于,包括:
当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;
将所述待停止渲染的GPU对应的资源信息暂存至内存空间;
当检测到新GPU的开启指令时,将所述待停止渲染的GPU对应的资源信息装载至所述新GPU;
控制所述新GPU恢复执行渲染指令。
2.根据权利要求1所述的方法,其特征在于,所述内存空间包括:RAM以及HDD;所述将所述待停止渲染的GPU对应的资源信息暂存至内存空间,包括以下任一项:
将所述待停止渲染的GPU对应的资源信息暂存至所述RAM;
将所述待停止渲染的GPU对应的资源信息暂存至所述HDD;
基于所述待停止渲染的GPU对应的资源信息以及所述RAM的剩余存储空间,确定待暂存至所述RAM的资源信息和/或待暂存至所述HDD的资源信息,并暂存至对应的内存空间。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括以下任一项:
获取可运行的GPU的设备信息,并控制显示所述可运行的GPU的设备信息,并基于用户的选择操作,从可运行的GPU中确定所述新GPU;
获取可运行的GPU的设备信息,并基于所述可运行的GPU的设备信息确定所述新GPU;
获取最新***的GPU,并将所述最新***的GPU确定为所述新GPU。
4.根据权利要求1所述的方法,其特征在于,所述停止渲染指令中包含待停止渲染的GPU信息;所述方法还包括以下任一项;
当检测到用户触发的GPU断开请求时,基于所述GPU断开请求确定待停止渲染的GPU,并基于所述待停止渲染的GPU生成停止渲染指令;
获取当前每个GPU对应的运行状态信息,并基于所述当前每个GPU对应的运行状态信息确定待停止渲染的GPU,并基于所述停止渲染的GPU生成停止渲染指令。
5.根据权利要求1所述的方法,其特征在于,所述将所述待停止渲染的GPU对应的资源信息暂存至内存空间,之后还包括:
关闭所述待停止渲染的GPU。
6.根据权利要求1所述的方法,其特征在于,若待停止渲染的GPU包含至少两个第一GPU且所述新的GPU包含至少两个第二GPU,则,
检测到新GPU的开启指令的方式,包括以下任意一项:
检测用户触发的新GPU的开启指令;
当检测到至少一个第二GPU时,触发所述至少一个第二GPU对应的开启指令;
当检测到所述至少两个第二GPU时,触发所述至少两个GPU对应的开启指令。
7.根据权利要求6所述的方法,其特征在于,将所述待停止渲染的GPU对应的资源信息装载至所述新GPU,包括:
基于用户的触发操作,从各个第一GPU分别对应的资源信息中确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息分别装载至对应的第二GPU;
基于所述各个第一GPU分别对应的资源信息所占用的存储空间以及所述各个第二GPU分别对应的存储空间,确定各个第二GPU分别对应的资源信息,并将所述各个第二GPU分别对应的资源信息装载至对应的第二GPU。
8.一种GPU热插拔装置,其特征在于,包括:
资源信息获取模块,用于当检测到停止渲染指令时,获取待停止渲染的GPU对应的资源信息;
信息暂存模块,用于将所述待停止渲染的GPU对应的资源信息暂存至内存空间;
信息装载模块,用于当检测到新GPU的开启指令时,将所述待停止渲染的GPU对应的资源信息装载至所述新GPU;
指令恢复模块,用于控制所述新GPU恢复执行渲染指令。
9.一种电子设备,其特征在于,该电子设备包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1~7任一项所述的GPU热插拔方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1~7任一项所述的GPU热插拔方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366209.0A CN115423675A (zh) | 2022-11-03 | 2022-11-03 | 一种gpu热插拔方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366209.0A CN115423675A (zh) | 2022-11-03 | 2022-11-03 | 一种gpu热插拔方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115423675A true CN115423675A (zh) | 2022-12-02 |
Family
ID=84208216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366209.0A Pending CN115423675A (zh) | 2022-11-03 | 2022-11-03 | 一种gpu热插拔方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115423675A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923878A (zh) * | 2009-06-17 | 2010-12-22 | 鸿富锦精密工业(深圳)有限公司 | 数据存储控制***及方法 |
CN103106637A (zh) * | 2011-11-11 | 2013-05-15 | 辉达公司 | 标准gpu模块、包含模块的***和用于驱动***的方法 |
CN103677782A (zh) * | 2012-09-21 | 2014-03-26 | 联想(北京)有限公司 | 实现热插和热拔的方法及电子设备 |
CN114565502A (zh) * | 2022-03-08 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 |
-
2022
- 2022-11-03 CN CN202211366209.0A patent/CN115423675A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923878A (zh) * | 2009-06-17 | 2010-12-22 | 鸿富锦精密工业(深圳)有限公司 | 数据存储控制***及方法 |
CN103106637A (zh) * | 2011-11-11 | 2013-05-15 | 辉达公司 | 标准gpu模块、包含模块的***和用于驱动***的方法 |
CN103677782A (zh) * | 2012-09-21 | 2014-03-26 | 联想(北京)有限公司 | 实现热插和热拔的方法及电子设备 |
CN114565502A (zh) * | 2022-03-08 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7066784B2 (ja) | クラウドゲーミングに関するゲームステートセーブ、転送および再開 | |
CN106797388B (zh) | 跨***多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
US20110154333A1 (en) | Machine system, information processing apparatus, method of operating virtual machine, and program | |
US20220012087A1 (en) | Virtual Machine Migration Method and System | |
WO2022041507A1 (zh) | 3d渲染方法及*** | |
WO2017193964A1 (zh) | 一种组件升级方法、装置和*** | |
CN113990354A (zh) | 基于Linux的音频控制方法、装置、设备和存储介质 | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN111124761B (zh) | 一种设备重启方法、装置、设备及介质 | |
CN111857961A (zh) | 一种显卡透传方法、虚拟桌面管理***及计算机设备 | |
CN114501134B (zh) | 一种iOS跨页面视频播放方法、装置、设备及存储介质 | |
CN111694604A (zh) | 一种驱动批量安装方法、装置、设备及机器可读存储介质 | |
CN110012003B (zh) | 一种云应用抓屏方法和装置 | |
US20200371882A1 (en) | Method, Apparatus, Device and Medium for Starting Virtual Machine | |
CN115423675A (zh) | 一种gpu热插拔方法、装置、电子设备及存储介质 | |
US20150381766A1 (en) | Application transfer system, application transfer method, terminal, and program | |
CN104717175A (zh) | 虚拟桌面的处理方法和*** | |
CN111467797A (zh) | 游戏数据处理方法、装置、计算机存储介质与电子设备 | |
CN110418198B (zh) | 一种视频信息处理方法、电子设备及存储介质 | |
CN109634721B (zh) | 一种虚拟机与主机的启动通信方法及相关装置 | |
CN111930502A (zh) | 一种服务器管理方法、装置、设备及存储介质 | |
CN109101253B (zh) | 云计算***中主机的管理方法和装置 | |
CN108920628B (zh) | 一种适配大数据平台的分布式文件***访问方法及装置 | |
CN114064065A (zh) | 程序升级方法和程序升级*** | |
CN108304200B (zh) | 一种驱动程序升级的方法、装置以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221202 |