CN111611017B - 一种显卡选择方法和相关装置 - Google Patents

一种显卡选择方法和相关装置 Download PDF

Info

Publication number
CN111611017B
CN111611017B CN202010454588.3A CN202010454588A CN111611017B CN 111611017 B CN111611017 B CN 111611017B CN 202010454588 A CN202010454588 A CN 202010454588A CN 111611017 B CN111611017 B CN 111611017B
Authority
CN
China
Prior art keywords
display
card
virtual
target display
cards
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.)
Active
Application number
CN202010454588.3A
Other languages
English (en)
Other versions
CN111611017A (zh
Inventor
杨广东
杨卫
魏雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010454588.3A priority Critical patent/CN111611017B/zh
Publication of CN111611017A publication Critical patent/CN111611017A/zh
Application granted granted Critical
Publication of CN111611017B publication Critical patent/CN111611017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例公开了一种显卡选择方法和相关装置,在云服务场景中,针对具有多个显卡的处理设备,可以为这多个显卡分别配置对应的虚拟显示器,当处理设备获取云应用对应的显卡使用请求时,可以从先前配置的虚拟显示器中确定对应该云应用的目标显示器,根据目标显示器对应的目标显卡即可运行该云应用。针对需要根据显示器才能选择显卡的云应用,若处理设备包括多个显卡,不需要为显卡连接物理显示器,仅为多个显卡分别配置虚拟显示器即可,使得运行这类云应用时,处理设备的多个显卡均可通过所配置的虚拟显示器进行选择、使用,不仅降低了实现成本,拓展了这类云应用的适用范围,而且也提高了处理设备计算资源的使用效率。

Description

一种显卡选择方法和相关装置
技术领域
本申请涉及数据处理领域,特别是涉及一种显卡选择方法和相关装置。
背景技术
随着云技术的发展,可以依靠服务器的高效处理能力,通过各类云应用例如云游戏、云办公等为用户提供优质的相关服务。
在上述涉及的一些云服务场景中,服务器需要通过部署的显卡(Video card)进行云应用中涉及的大部分图形处理和数据计算。为了能够及时满足处理需求,服务器中会配置多个显卡,当确定用户启动云应用等情况时,云服务器可以选择显卡以支持对应的图形处理和数据计算。
然而在相关技术中,并没有完善的显卡选择方案,经常出现一部分显卡无法选择、使用的情况,浪费了服务器的计算资源。
发明内容
为了解决上述技术问题,本申请提供了一种显卡选择方法和相关装置,提高了处理设备计算资源的使用效率。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种显卡选择方法,处理设备的多个显卡分别配置有对应的虚拟显示器,所述方法包括:
获取云应用对应的显卡使用请求;
从所述虚拟显示器中确定对应所述云应用的目标显示器;
根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
通过所述处理设备的所述目标显卡运行所述云应用。
另一方面,本申请实施例提供了一种用于显卡选择的处理设备,所述处理设备的多个显卡分别配置有对应的虚拟显示器,所述处理设备包括获取单元、确定单元、选择单元和运行单元:
所述获取单元,用于获取云应用对应的显卡使用请求;
所述确定单元,用于从所述虚拟显示器中确定对应所述云应用的目标显示器;
所述选择单元,用于根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
所述运行单元,用于通过所述处理设备的所述目标显卡运行所述云应用。
另一方面,本申请实施例提供了一种用于显卡选择的处理设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
由上述技术方案可以看出,在云服务场景中,针对具有多个显卡的处理设备,可以为这多个显卡分别配置对应的虚拟显示器,当处理设备获取云应用对应的显卡使用请求时,可以从先前配置的虚拟显示器中确定对应该云应用的目标显示器,根据目标显示器对应的目标显卡即可运行该云应用。针对需要根据显示器才能选择显卡的云应用,若处理设备包括多个显卡,不需要为显卡连接物理显示器,仅为多个显卡分别配置虚拟显示器即可,使得运行这类云应用时,处理设备的多个显卡均可通过所配置的虚拟显示器进行选择、使用,不仅降低了实现成本,拓展了这类云应用的适用范围,而且也提高了处理设备计算资源的使用效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种显卡选择方法的应用场景示意图;
图2为本申请实施例提供的一种为显卡配置虚拟显示器方法的流程示意图;
图3为本申请实施例提供的一种显卡选择方法的流程示意图;
图4为本申请实施例提供的另一种显卡选择方法的应用场景示意图;
图5为本申请实施例提供的一种用于显卡选择的处理设备的结构示意图;
图6为本申请实施例提供的服务器的结构示意图;
图7为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在云服务场景中,用户启动云应用后,云应用在云端的处理设备的显卡中运行,用户设备利用云端处理设备返回的运行结果实现对于云应用的使用。其中,云应用是指客户端设备与云端处理设备互动的应用,客户端操作同步云端,而占用本地空间保存的数据也通过云端备份保留。
针对一些云应用,云端的处理设备在为其提供数据处理服务时,处理设备只能通过选择显示器的方式,间接的选择与显示器有连接的显卡,然后利用该显卡进行相应的图形处理和数据计算。这种间接选择显卡的方式,导致了处理设备在进行云服务时无法选择自身配置的、没有连接显示器的显卡。
处理设备一般会配置多个显卡,为每一个显卡都分别连接上物理显示器显然并不现实,对于处理设备本身也没有必要,另外,目前有一些高质量的服务器级别显卡甚至没有用于连接显示器的接口。这就导致了处理设备在运行这类云应用时,无法充分利用所有显卡进行图形处理和数据计算,浪费了处理设备的计算资源,降低了处理设备计算资源的使用效率。
为了提高处理设备计算资源的使用效率,本申请实施例提供了一种显卡选择方法和相关装置。
本申请实施例提供的显卡选择方法可以应用于具有图形处理能力的云端处理设备,如终端设备、服务器。该显卡选择方法可以通过终端设备独立执行,也可以通过服务器独立执行。其中,终端设备具体可以为台式机、平板等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。使用云应用的用户设备与处理设备可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。在本申请中,以服务器作为处理设备对实施例进行介绍。
本申请实施例提供的显卡选择方法所涉及的云应用会导致处理设备采用间接选择显卡的方式为其提供云服务。即需要根据显示器的方式间接选择运行该云应用的显卡,这类云应用例如可以包括基于多媒体编程接口9.0版本(Direct eXtension 9.0,D3D9)开发的云游戏(Cloud gaming)。
云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
在本申请实施例中,处理设备执行显卡选择方法是基于云技术实现的,主要涉及云计算技术。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
本申请实施例中的处理设备选择出显卡后,显卡可以通过云计算技术进行图形处理和数据计算,实现对于云应用的运行。
下面以基于D3D9开发的云游戏作为示例,对本申请实施例提供的显卡选择方法的应用场景进行介绍。
如图1所示的应用场景,包括:云端的服务器101和用户设备102。其中,用户利用用户设备102打开云游戏时,用户设备102向服务器101发送显卡使用请求。服务器101响应于该显卡使用请求,从预配置的多个显卡中选择一个目标显卡运行该云游戏,并将渲染完毕后的游戏画面压缩后通过网络传送给终端设备102。用户设备102不需要高端处理器和显卡,只需要基本的视频解压能力,用户就可以利用用户设备102玩该款云游戏。
在选择显卡之前,可以利用显示器虚拟化技术,预先为服务器101中的多个显卡分别配置对应的虚拟显示器。如图1所示,服务器101中配置有3个显卡,且这3个显卡都配置有对应的虚拟显示器。例如,显卡1配置有对应的虚拟显示器1。
为服务器101中每个显卡配置好对应的虚拟显示器后,服务器101就可以通过选择虚拟显示器的方式,选择到所有与虚拟显示器连接的显卡。
服务器101获取到显卡使用请求后,服务器101可以通过获取每个显卡对应的虚拟显示器,从而自身配置的所有显卡均可以被选择,避免了相关技术中有些显卡无法选择的窘境,且虚拟显示器配置便捷,基本不会带来什么成本。
服务器101可以从获取到的多个虚拟显示器中选择一个虚拟显示器作为目标显示器。继而,根据虚拟显示器与显卡的连接关系,选择与目标显示器对应的显卡作为目标显卡,用于图形处理和数据计算。
例如,服务器101接收到用户设备102启动云游戏产生的显卡使用请求后,服务器101可以获取到3个虚拟显示器(虚拟显示器0、虚拟显示器1和虚拟显示器2),从这3个虚拟显示器中选择虚拟显示器1作为目标显示器。由于虚拟显示器1与显卡1连接,因此,服务器101可以选择到显卡1,用于运行云游戏。
由于处理设备中的多个显卡都可以配置对应的虚拟显示器,因此,针对云应用对应的显卡使用请求,处理设备可以通过选择虚拟显示器的方式,选择到所有的显卡,实现了对于没有连接物理显示器的显卡或者没有显示器接口的显卡的选择,拓展了需要根据显示器选择显卡这类云应用的使用范围,也提高了处理设备计算资源的使用效率。另外,由于虚拟显示器是基于软件虚拟化技术实现的,因此,相对于连接物理显示器,降低了设备投入成本,运维方便,同时可以支持所有的显卡,使得显卡的选择更加广泛、更加灵活。
针对云应用发送的显卡使用请求,可以在预先部署服务器运行环境期间,根据显卡的数量,利用显示器虚拟化技术为每个显卡配置好虚拟显示器。
参见图2,图2是为显卡配置虚拟显示器方法的流程示意图。如图2所示,该方法包括以下步骤:
S201:枚举服务器中的所有显卡。
S202:通过虚拟化处理,创建虚拟显示器。
S203:连接虚拟显示器与显卡。
在本申请实施例中,显卡是指具有图形处理能力的元件,例如,包括图形处理器(Graphic Processing Unit,GPU)的元件。服务器中的每个显卡,无论是没有连接物理显示器的显卡,还是没有显示器接口的服务器级别显卡,都可以配置对应的虚拟显示器,即每个显卡都连接有对应的虚拟显示器。
为了实现通过虚拟显示器唯一定位到显卡,一个虚拟显示器唯一配置一个显卡。基于此,服务器从多个虚拟显示器中选出目标显示器后,可以根据虚拟显示器与显卡的唯一对应关系,从多个显卡中选出对应目标显示器的目标显卡。
在一种可能的实现方式中,一个显卡配置一个虚拟显示器,即虚拟显示器与显卡具有一一对应关系。例如,图1中的显卡0唯一配置有虚拟显示器0。在另一种可能的实现方式中,一个显卡配置多个虚拟显示器,且一个虚拟显示器唯一连接一个显卡。例如,为图1中的显卡0配置虚拟显示器0和虚拟显示器3,且虚拟显示器0和虚拟显示器3仅连接有显卡0。实际应用时,可以根据具体应用场景和应用需求进行配置,在此不作任何限定。
基于上述配置过程可知,服务器中的每个显卡都可以配置对应的虚拟显示器,因此,服务器在响应针对云应用的显卡使用请求时,可以通过虚拟显示器,选择到所有的显卡,提高了服务器计算资源的利用效率。另外,由于一个虚拟显示器唯一对应一个显卡,因此,在选择显卡时,根据虚拟显示器与显卡的对应关系,选择到对应的显卡,提高了对于显卡的选择效率。相对于连接物理显示器的方式,降低了成本,简化了对于设备的运行和维护,便于自动化管理,提高了设备管理效率。
基于上述,为每个显卡配置了对应的虚拟显示器,下面结合附图,对本申请实施例提供的显卡选择方法进行说明。
参见图3,图3为本申请实施例提供的显卡选择方法的流程示意图。如图3所示,该显卡选择方法包括以下步骤:
S301:获取云应用对应的显卡使用请求。
用户设备在启动云应用时,或者,在使用云应用过程中,通过网络向服务器发送针对云应用的显卡使用请求。服务器接收该显卡使用请求,就可以通过虚拟显示器选择到每个显卡,以便利用选出的目标显卡进行云应用对应的图形处理和数据计算。
其中,显卡使用请求用于触发服务器选择目标显卡。云应用是指需要利用显卡进行图形处理的一类应用,且该类应用需要通过显示器选择显卡。云应用包括但不限于:基于多媒体程序接口开发的云应用,例如,图1场景中基于D3D9开发的云游戏。
S302:从所述虚拟显示器中确定对应所述云应用的目标显示器。
为了确定对应该云应用的显卡,服务器需要采用通过选择显示器的方式间接选择显卡。为了便于从多个虚拟显示器中选出针对云应用的目标显示器,在一种可能的实现方式中,可以在显卡使用请求中携带目标显示器标识,从而将显示器标识与目标显示器标识一致的虚拟显示器选做目标显示器。其中,显示器标识用于标识虚拟显示器身份信息,以便通过显示器标识区别每个虚拟显示器。目标显示器标识用于指定目标显示器的显示器标识。
针对虚拟显示器的显示器标识,在一种可能的实现方式中,显示器标识可以在配置虚拟显示器时根据索引确定。其中,索引是指一种从初始值开始,依次累加数值的计数方式,初始值可以预先设定,一般设置为0。以图1所示的应用场景为例,对于已配置的虚拟显示器,可以从0开始,依次将虚拟显示器的显示器标识设定为0,1,2,例如,虚拟显示器0的显示器标识为0。
针对目标显示器标识,在一种可能的实现方式中,目标显示器标识可以从所有虚拟显示器的显示器标识中随机确定。以上述图1中的3个虚拟显示器为例,3个虚拟显示器的显示器标识分别为0,1,2,则服务器可以0,1,2中随机选择一个作为目标显示器标识(例如,将1选为目标显示器标识)。
在另一种可能的实现方式中,可以根据云应用从所有虚拟显示器的显示器标识中进行指定。
在实际应用中,服务器将所有虚拟显示器的显示器标识发送给用户设备,用户可以根据云应用的运行需求,从多个显示器标识中选择一个作为目标显示器标识,实现从多个虚拟显示器指定目标显卡,用于运行云应用。用户设备响应用户对显示器标识的触发操作,将目标显示器标识携带在显卡使用请求中,并发送给服务器。基于此,服务器收到显卡使用请求后,可以根据目标显示器标识从多个虚拟显示器中选出目标显示器,从而通过目标显示器选出用户指定的目标显卡。
在另一种可能的方式中,服务器可以根据负载均衡策略从多个显卡中确定目标显卡,若目标显卡与目标显示器标识对应于不同的虚拟显示器,将目标显卡对应的虚拟显示器确定为目标显示器,然后,再根据目标显示器与显卡的连接关系,从多个显卡中选择出对应目标显示器的目标显卡。
其中,根据负载均衡策略确定出的目标显卡,具有较多的空闲资源,能更快地响应显卡使用请求,进行图形处理和数据计算。因此,当目标显卡与目标显示器对应的显卡不一致时,可以将目标显示器重新确定为目标显卡对应的虚拟显示器。
以上述图1所示的应用场景为例,若根据负载均衡策略将显卡0确定为目标显卡,目标显示器标识指定的目标显示器为虚拟显示器1,此时,虚拟显示器1对应的显卡(显卡1)与目标显卡(显卡0)不一致,因此,将目标显示器重新确定为目标显卡对应的虚拟显示器(虚拟显示器0)。
负载均衡(Load Balance)是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。在本申请实施例中,指将多个图形处理任务进行平衡、分摊到多个显卡上进行运行,提高图形处理效率。负载均衡策略包括但不限于:轮询、指定权重等。在实际应用中,可以根据具体应用场景设定,在此不做任何限定。
由于负载均衡策略充分地考虑到了资源利用和数据处理,因此,利用负载均衡策略重定向目标显卡,提高了显卡的使用率,也提高了利用显卡进行图形处理的效率。
另外,由于显示器标识用于标识虚拟显示器身份信息,因此,通过显示器标识可以从多个虚拟显示器中选择一个作为目标显示器,以便根据虚拟显示器与显卡的对应关系,选出针对云应用的目标显卡,提高了对于显卡的选择效率。
可以理解的是,服务器从多个虚拟显示器中选择目标显示器之前,需要确定所有已配置的虚拟显示器。在一种可能的实现方式中,服务器可以通过调用应用程序编程接口(Application Program Interface,API)确定服务器所配置的虚拟显示器。其中,API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
在本申请实施例中,服务器可以通过API获取所有虚拟显示器的显示器标识,从而从多个显示器标识中找出与目标显示器标识一致对应的显示器标识,并将该显示器标识对应的虚拟显示器选为目标显示器。
以图1所示的基于D3D9开发的云游戏应用场景为例,若虚拟显示器的显示器标识是根据初始值为0的索引确定的,则服务器可以通过API:IDirect3D9::GetAdapterCount接口,获取所有虚拟显示器的数量n(图1中n=3),从而可以确定所有虚拟显示器的显示器标识为[0,n-1](图1中显示器标识包括0、1和2)。若目标显示器标识指定目标显示器的显示器标识为1,服务器可以将API:IDirect3D9::CreateDevice(UINT Adapter,…)中的UINTAdapter设为1,从而根据利用UINT Adapter将显示器标识为1的虚拟显示器(虚拟显示器1)选为目标显示器。
由于服务器可以通过获取显示器标识的方式选择到所有虚拟显示器,而虚拟显示器又连接有显卡,因此,服务器可以通过虚拟显示器选择到所有的显卡,相对于连接物理显示器的方式,提高了显卡利用率,降低了成本。
S303:根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡。
服务器选定目标显示器后,由于虚拟显示器与显卡具有对应关系,即一个虚拟显示器唯一连接一个显卡,因此,服务器可以根据虚拟显示器与显卡的对应关系,从多个显卡中选出对应目标显示器的目标显卡。
针对图1所示的应用场景,如上所述,服务器利用UINT Adapter将虚拟显示器1选为目标显示器后,可以根据虚拟显示器1与显卡1的连接关系,将显卡1确定为目标显卡。
S304:通过所述处理设备的所述目标显卡运行所述云应用。
服务器选出目标显卡后,可以在目标显卡中创建渲染单元,并利用该渲染单元进行云应用对应的图形处理和数据计算。运行结束后,服务器可以将图形处理结果发送给用户设备,以便用户设备利用运行结果使用该云应用。
如S303所述的图1所示的应用场景,服务器将显卡1选为目标显卡后,在显卡1中运行云游戏,并将经过图形处理后的游戏画面发送给用户,以便用户使用该云游戏。
上述实施例提供的显卡选择方法,在云服务场景中,针对具有多个显卡的处理设备,可以为这多个显卡分别配置对应的虚拟显示器,当处理设备获取云应用对应的显卡使用请求时,可以从先前配置的虚拟显示器中确定对应该云应用的目标显示器,根据目标显示器对应的目标显卡即可运行该云应用。针对需要根据显示器才能选择显卡的云应用,若处理设备包括多个显卡,不需要为显卡连接物理显示器,仅为多个显卡分别配置虚拟显示器即可,使得运行这类云应用时,处理设备的多个显卡均可通过所配置的虚拟显示器进行选择、使用,不仅降低了实现成本,拓展了这类云应用的适用范围,而且也提高了处理设备计算资源的使用效率。
下面以基于D3D9开发的云游戏A为例,对上述实施例提供的显卡选择方法的应用过程进行具体说明。如图4所示的应用场景,包括云端的服务器401、A用户对应的手机402、B用户对应的平板403和C用户对应的台式机404。
预先为服务器401中的4个显卡(显卡0、显卡1、显卡2和显卡3)分别配置对应的虚拟显示器(虚拟显示器0、虚拟显示器1、虚拟显示器2和虚拟显示器3)。利用服务器401中的监视器对显卡的状态进行监控。表1和表2分别给出了图4中4个显卡连接虚拟显示器前后的监控数据。为了便于描述,以GPU表示显卡。
如表1所示,表1为显卡没有连接显示器对应的监控数据。其中,“not connecteddisplay”表示GPU没有连接显示器。根据表2所示的监控数据可知,图4中的4个显卡都没有连接显示器。
表1显卡没有连接显示器对应的监控数据
GPU[0] 0002D00 bus:45 dev:0
display: 0x80061083 ..not connected display
GPU[1] 0003100 bus:31 dev:0
display: 0x82061083 ..not connected display
GPU[2] 0003500 bus:35 dev:0
display: 0x84061083 ..not connected display
GPU[3] 0003900 bus:39 dev:0
display: 0x86061083 ..not connected display
如表2所示,表2为显卡连接虚拟显示器后对应的监控数据。其中,“connected”表示GPU连接了显示器。“Virtual Display”表示虚拟显示器。由此可知,图4中的4个显卡都连接了虚拟显示器。
表2显卡连接虚拟显示器后对应的监控数据
GPU[0] 0002D00 bus:45 dev:0
display: 0x80061083 ..connected type:1 (Virtual Display) 1920x1080x60 (268.60MHz)
GPU[1] 0003100 bus:31 dev:0
display: 0x82061083 ..connected type:1 (Virtual Display) 1920x1080x60 (268.60MHz)
GPU[2] 0003500 bus:35 dev:0
display: 0x84061083 ..connected type:1 (Virtual Display) 1920x1080x60 (268.60MHz)
GPU[3] 0003900 bus:39 dev:0
display: 0x86061083 ..connected type:1 (Virtual Display) 1920x1080x60 (268.60MHz)
为服务器401中的显卡配置好虚拟显示器后,可以通过虚拟显示器选择到每个显卡,用于运行云应用。如图4所示,服务器401响应不同用户设备发送针对云应用的显卡使用请求,通过虚拟显示器选出目标显卡,并利用目标显卡运行云应用。例如,服务器401响应手机402发送针对云游戏a的显卡使用请求,通过虚拟显示器将显卡0选为目标显卡。服务器将显卡0运行云游戏a的图形处理结果发送给手机402,以便A用户利用手机402玩云游戏a。表3给出了图4中显卡运行云应用时对应的监控数据。
表3显卡运行云游戏对应的监控数据
GPU PID Type Process name
0 1628 C+G Insufficient Permissions
0 10488 C+G ..云游戏a\Game\a.exe
0 85904 C+G Insufficient Permissions
0 88720 C+G Insufficient Permissions
1 1628 C+G Insufficient Permissions
1 9308 C+G ..云游戏b\Game\b.exe
2 1628 C+G Insufficient Permissions
3 1628 C+G Insufficient Permissions
3 7776 C+G ..云办公c\Game\c.exe
3 268256 C+G ..云办公d\Game\e.exe
由表3中的监控数据可以看出,在图4所示的云游戏场景中,服务器中有3个显卡分别运行了3个云游戏A实例,且在GPU上的分布情况如下表4。
表4云游戏A在GPU上运行的分布情况
GPU索引 进程ID 云应用进程名
0 10488 a.exe
1 9308 b.exe
3 7776 c.exe
3 268256 d.exe
从表4中的监控数据还可以看到,一个显卡中可以同时运行不同的云应用,例如,GPU[3]对应的显卡3在运行云办公c的同时,也运行云办公d。
针对上文描述的显卡选择方法,本申请实施例还提供了一种用于显卡选择的处理设备。
参见图5,图5为本申请实施例提供的一种用于显卡选择的处理设备的结构示意图。如图5所示,该处理设备500的多个显卡分别配置有对应的虚拟显示器,该处理设备500包括获取单元501、确定单元502、选择单元503和运行单元504:
所述获取单元501,用于获取云应用对应的显卡使用请求;
所述确定单元502,用于从所述虚拟显示器中确定对应所述云应用的目标显示器;
所述选择单元503,用于根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
所述运行单元504,用于通过所述处理设备的所述目标显卡运行所述云应用。
其中,所述显卡使用请求包括目标显示器标识,所述确定单元502,用于根据所述目标显示器标识,从所述虚拟显示器中确定对应所述云应用的目标显示器。
其中,所述确定单元502,用于:
根据负载均衡策略从所述多个显卡中确定所述目标显卡;
若所述目标显卡与所述目标显示器标识对应于不同的虚拟显示器,将所述目标显卡对应的虚拟显示器确定为目标显示器。
其中,所述虚拟显示器的显示器标识是在为所述多个显卡配置虚拟显示器时根据索引确定的。
其中,在所述对应关系中,所述虚拟显示器与所述显卡一一对应。
其中,所述确定单元502,还用于通过调用应用程序编程接口确定所述处理设备所配置的所述虚拟显示器。
其中,所述云应用是基于多媒体程序接口开发的。
其中,所述多个显卡包括没有连接显示器接口的显卡。
上述实施例提供的用于显卡选择的处理设备,在云服务场景中,针对具有多个显卡的处理设备,可以为这多个显卡分别配置对应的虚拟显示器,当处理设备获取云应用对应的显卡使用请求时,可以从先前配置的虚拟显示器中确定对应该云应用的目标显示器,根据目标显示器对应的目标显卡即可运行该云应用。针对需要根据显示器才能选择显卡的云应用,若处理设备包括多个显卡,不需要为显卡连接物理显示器,仅为多个显卡分别配置虚拟显示器即可,使得运行这类云应用时,处理设备的多个显卡均可通过所配置的虚拟显示器进行选择、使用,不仅降低了实现成本,拓展了这类云应用的适用范围,而且也提高了处理设备计算资源的使用效率。
本申请实施例还提供了一种用于显卡选择的服务器和终端设备,下面将从硬件实体化的角度对本申请实施例提供的用于显卡选择的服务器和终端设备进行介绍。
参见图6,图6是本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图6所示的服务器结构。
其中,CPU 1422用于执行如下步骤:
获取云应用对应的显卡使用请求;
从所述虚拟显示器中确定对应所述云应用的目标显示器;
根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
通过所述处理设备的所述目标显卡运行所述云应用。
可选的,CPU 1422还可以执行本申请实施例中显卡选择方法任一具体实现方式的方法步骤。
针对上文描述的显卡选择方法,本申请实施例还提供了一种用于显卡选择的终端设备,以使上述显卡选择的方法在实际中实现以及应用。
参见图7,图7为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括平板电脑、个人数字助理(英文全称:Personal DigitalAssistant,英文缩写:PDA)等任意终端设备:
图7示出的是与本申请实施例提供的终端相关的部分结构的框图。参考图7,该终端包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图7中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对平板电脑的各个构成部件进行具体的介绍:
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现终端的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1580是终端的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
在本申请实施例中,该终端所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。
该终端所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的显卡选择方法。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的显卡选择方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (15)

1.一种显卡选择方法,其特征在于,处理设备的多个显卡分别配置有对应的虚拟显示器,所述方法包括:
获取云应用对应的显卡使用请求,所述显卡使用请求用于确定目标显示器;
从所述虚拟显示器中确定对应所述云应用的目标显示器;
根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
通过所述处理设备的所述目标显卡运行所述云应用。
2.根据权利要求1所述的方法,其特征在于,所述显卡使用请求包括目标显示器标识,所述从所述虚拟显示器中确定对应所述云应用的目标显示器,包括:
根据所述目标显示器标识,从所述虚拟显示器中确定对应所述云应用的目标显示器。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标显示器标识,从所述虚拟显示器中确定对应所述云应用的目标显示器,包括:
根据负载均衡策略从所述多个显卡中确定所述目标显卡;
若所述目标显卡与所述目标显示器标识对应于不同的虚拟显示器,将所述目标显卡对应的虚拟显示器确定为目标显示器。
4.根据权利要求2所述的方法,其特征在于,所述虚拟显示器的显示器标识是在为所述多个显卡配置虚拟显示器时根据索引确定的。
5.根据权利要求1-4任意一项所述的方法,其特征在于,在所述对应关系中,所述虚拟显示器与所述显卡一一对应。
6.根据权利要求1-4任意一项所述的方法,其特征在于,在所述从所述虚拟显示器中确定对应所述云应用的目标显示器之前,包括:
通过调用应用程序编程接口确定所述处理设备所配置的所述虚拟显示器。
7.根据权利要求1-4任意一项所述的方法,其特征在于,所述云应用是基于多媒体程序接口开发的。
8.根据权利要求1-4任意一项所述的方法,其特征在于,所述多个显卡包括没有连接显示器接口的显卡。
9.一种用于显卡选择的处理设备,其特征在于,所述处理设备的多个显卡分别配置有对应的虚拟显示器,所述处理设备包括获取单元、确定单元、选择单元和运行单元:
所述获取单元,用于获取云应用对应的显卡使用请求,所述显卡使用请求用于确定目标显示器;
所述确定单元,用于从所述虚拟显示器中确定对应所述云应用的目标显示器;
所述选择单元,用于根据所述虚拟显示器与所述显卡间的对应关系,从所述多个显卡中选择对应所述目标显示器的目标显卡;
所述运行单元,用于通过所述处理设备的所述目标显卡运行所述云应用。
10.根据权利要求9所述的处理设备,其特征在于,所述显卡使用请求包括目标显示器标识,所述确定单元,用于根据所述目标显示器标识,从所述虚拟显示器中确定对应所述云应用的目标显示器。
11.根据权利要求10所述的处理设备,其特征在于,所述确定单元,用于:
根据负载均衡策略从所述多个显卡中确定所述目标显卡;
若所述目标显卡与所述目标显示器标识对应于不同的虚拟显示器,将所述目标显卡对应的虚拟显示器确定为目标显示器。
12.根据权利要求10所述的处理设备,其特征在于,所述虚拟显示器的显示器标识是在为所述多个显卡配置虚拟显示器时根据索引确定的。
13.根据权利要求9-12任意一项所述的处理设备,其特征在于,在所述对应关系中,所述虚拟显示器与所述显卡一一对应。
14.一种用于显卡选择的处理设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8任意一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-8任意一项所述的方法。
CN202010454588.3A 2020-05-26 2020-05-26 一种显卡选择方法和相关装置 Active CN111611017B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010454588.3A CN111611017B (zh) 2020-05-26 2020-05-26 一种显卡选择方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010454588.3A CN111611017B (zh) 2020-05-26 2020-05-26 一种显卡选择方法和相关装置

Publications (2)

Publication Number Publication Date
CN111611017A CN111611017A (zh) 2020-09-01
CN111611017B true CN111611017B (zh) 2021-06-15

Family

ID=72200669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010454588.3A Active CN111611017B (zh) 2020-05-26 2020-05-26 一种显卡选择方法和相关装置

Country Status (1)

Country Link
CN (1) CN111611017B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI770979B (zh) * 2021-05-03 2022-07-11 華碩電腦股份有限公司 螢幕顯示方法及裝置
CN114398018B (zh) * 2022-01-19 2023-10-17 腾讯科技(深圳)有限公司 画面显示方法、装置、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2763038A3 (en) * 2013-02-01 2017-03-01 Samsung Electronics Co., Ltd Method and apparatus for processing multimedia content on a graphic cloud
CN110515572B (zh) * 2018-05-21 2022-11-18 腾讯科技(深圳)有限公司 投屏方法、装置、存储介质和计算机设备
CN109522070B (zh) * 2018-10-29 2021-07-16 联想(北京)有限公司 显示处理方法和系统
CN110399214B (zh) * 2019-05-30 2024-03-22 腾讯科技(深圳)有限公司 一种优化显卡负载的方法、装置及计算机设备
CN110647375A (zh) * 2019-09-23 2020-01-03 天津卓朗科技发展有限公司 云桌面的图像渲染方法、装置和云服务器

Also Published As

Publication number Publication date
CN111611017A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
EP3456032B1 (en) Method and server for controlling relocation of a mec application
CN108568109B (zh) 一种游戏控制方法、装置及存储介质
US20160328241A1 (en) Data processing method for multiple operating systems and terminal equipment
CN111611017B (zh) 一种显卡选择方法和相关装置
CN111314799A (zh) 终端系统构架、通信系统及通信方法、存储介质
WO2013140336A2 (en) System and method of managing servers for streaming desk top applications
KR20130062462A (ko) 스트리밍 게임 서비스를 위한 분산 서버 시스템 및 방법
US20070087830A1 (en) Multi-component gaming system
US20140359006A1 (en) Dynamic local function binding apparatus and method
CN107580011B (zh) 一种数据共享方法及桌面云服务端
CN112825042A (zh) 资源管理方法和装置、电子设备及存储介质
JP2017539103A (ja) 複数の装置間においてメンバー利得を同期させるための方法、装置、サーバおよびシステム
CN113849312A (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
WO2024066828A1 (zh) 一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品
CN108829519A (zh) 基于云平台的任务调度方法、云平台及计算机可读存储介质
CN116431282A (zh) 一种云虚拟主机服务器管理方法、装置、设备及存储介质
CN112749012B (zh) 终端设备的数据处理方法、装置、系统及存储介质
CN114168301A (zh) 线程调度方法、处理器以及电子装置
CN110096352B (zh) 进程管理方法、装置及计算机可读存储介质
CN110493891B (zh) 资源分配方法、装置及系统
CN112882826A (zh) 一种资源协同调度方法以及装置
CN111124669A (zh) 一种分布式SaaS软件的运营方法、系统、终端及存储介质
CN112604267B (zh) 游戏处理方法、系统、装置、设备和介质
CN114661465A (zh) 资源管理的方法、装置、存储介质及电子设备
CN111803926B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028085

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant