• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 11
    • 下载费用:30 金币  

    重庆时时彩如何摇奖: GPU加速方法和装置.pdf

    关 键 词:
    GPU 加速 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201510755410.1

    申请日:

    2015.11.09

    公开号:

    CN106683035A

    公开日:

    2017.05.17

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06T 1/60申请日:20151109|||公开
    IPC分类号: G06T1/60 主分类号: G06T1/60
    申请人: 龙芯中科技术有限公司
    发明人: 王洪虎
    地址: 100095 北京市海淀区中关村环??萍际痉对傲静翟?号楼
    优先权:
    专利代理机构: 北京同立钧成知识产权代理有限公司 11205 代理人: 马爽;黄健
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510755410.1

    授权公告号:

    |||

    法律状态公告日:

    2017.06.09|||2017.05.17

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明提供一种GPU加速方法和装置,其中,该方法包括:通过EXA驱动中的连续物理内存分配函数调用内核中的GPU驱动,控制GPU为EXA驱动分配一段物理地址连续的缓冲区;在物理地址连续的缓冲区中填写欲加速的数据;通过EXA驱动将物理地址连续的缓冲区的物理地址和相应的加速指令提交给GPU驱动,控制GPU对数据进行加速处理。本发明提供的技术方案,省去了一次缓冲区分配操作和大量的memcpy操作,有效的缩短了加速指令提交到GPU的时间,提高了GPU加速的效率。

    权利要求书

    1.一种GPU加速方法,其特征在于,包括:
    通过图形加速结构EXA驱动中的连续物理内存分配函数调用内核中的
    图形处理器GPU驱动,控制GPU为所述EXA驱动分配一段物理地址连续的
    缓冲区,所述物理地址连续的缓冲区用于GPU调用以进行数据加速;
    在所述物理地址连续的缓冲区中填写欲加速的数据;
    通过所述EXA驱动将所述物理地址连续的缓冲区的物理地址和相应的
    加速指令提交给所述GPU驱动,控制所述GPU对所述数据进行加速处理。
    2.根据权利要求1所述的方法,其特征在于,所述通过EXA驱动中的
    连续物理内存分配函数调用内核中的GPU驱动,控制GPU为所述EXA驱动
    分配一段物理地址连续的缓冲区,具体包括:
    通过所述连续物理内存分配函数进行系统调用来调用所述GPU驱动,控
    制GPU从图形转换表GTT中分配一段物理地址连续的缓冲区;
    在所述内核将所述物理地址连续的缓冲区映射到用户态空间后,存储所
    述内核返回的所述物理地址连续的缓冲区的物理地址和所述物理地址连续的
    缓冲区对应的用户态程序地址。
    3.根据权利要求2所述的方法,其特征在于,所述物理地址连续的缓冲
    区的物理地址首地址按照GPU硬件访问要求对齐;
    所述在所述物理地址连续的缓冲区中填写欲加速的数据,具体包括:根
    据所述用户态程序地址在对应的物理地址连续且首地址按照GPU硬件访问
    要求对齐的缓冲区中填写欲加速的数据。
    4.根据权利要求2所述的方法,其特征在于,所述连续物理内存分配函
    数包括用于记录GPU驱动设备节点信息的参数、欲分配的缓冲区地址对齐要
    求的参数、欲分配的缓冲区大小的参数、欲分配的缓冲区类型的参数和分配
    的缓冲区首地址的参数。
    5.根据权利要求1所述的方法,其特征在于,所述EXA驱动包括连续
    物理内存释放函数;该方法还包括:
    通过所述连续物理内存释放函数进行系统调用来调用内核中的GPU驱
    动,控制GPU从GTT中释放所述缓冲区。
    6.根据权利要求5所述的方法,其特征在于,所述连续物理内存释放函
    数包括用于记录GPU驱动设备节点信息的参数、分配的缓冲区大小的参数、
    分配的缓冲区类型的参数和分配的缓冲区首地址的参数。
    7.一种GPU加速装置,其特征在于,包括:
    分配???,用于通过图形加速结构EXA驱动中的连续物理内存分配函数
    调用内核中的图形处理器GPU驱动,控制GPU为所述EXA驱动分配一段物
    理地址连续的缓冲区,所述物理地址连续的缓冲区用于GPU调用以进行数据
    加速;
    填写???,用于在所述物理地址连续的缓冲区中填写欲加速的数据;
    处理???,用于通过所述EXA驱动将所述物理地址连续的缓冲区的物理
    地址和相应的加速指令提交给所述GPU驱动,控制所述GPU对所述数据进
    行加速处理。
    8.根据权利要求7所述的装置,其特征在于,所述分配???,具体用于:
    通过所述连续物理内存分配函数进行系统调用来调用所述GPU驱动,控
    制GPU从图形转换表GTT中分配一段物理地址连续的缓冲区;
    在所述内核将所述物理地址连续的缓冲区映射到用户态空间后,存储所
    述内核返回的所述物理地址连续的缓冲区的物理地址和所述物理地址连续的
    缓冲区对应的用户态程序地址。
    9.根据权利要求8所述的装置,其特征在于,所述物理地址连续的缓冲
    区的物理地址首地址按照GPU硬件访问要求对齐,所述填写??榫咛逵糜冢?br />根据所述用户态程序地址在对应的物理地址连续且首地址按照GPU硬件访
    问要求对齐的缓冲区中填写欲加速的数据。
    10.根据权利要求8所述的装置,其特征在于,所述连续物理内存分配
    函数包括用于记录GPU驱动设备节点信息的参数、欲分配的缓冲区地址对齐
    要求的参数、欲分配的缓冲区大小的参数、欲分配的缓冲区类型的参数和分
    配的缓冲区首地址的参数。
    11.根据权利要求8所述的装置,其特征在于,所述EXA驱动包括连续
    物理内存释放函数,所述装置还包括:释放???,所述释放??橛糜谕ü?br />述连续物理内存释放函数进行系统调用来调用内核中的GPU驱动,控制GPU
    从GTT中释放所述缓冲区。
    12.根据权利要求11所述的装置,其特征在于,所述连续物理内存释放
    函数包括用于记录GPU驱动设备节点信息的参数、分配的缓冲区大小的参
    数、分配的缓冲区类型的参数和分配的缓冲区首地址的参数。

    说明书

    GPU加速方法和装置

    技术领域

    本发明涉及硬件加速技术,尤其涉及一种GPU加速方法和装置。

    背景技术

    图形加速结构(Ex-kaa aXeleration Architecture,EXA)驱动是Linux图形
    系统中显卡与X窗口系统的接口,是Linux图形系统实现GPU硬件加速的接
    口层,其工作在X窗口系统中的图形接口服务器Xserver之下、显卡的内核
    图形处理器(Graphics Processing Unit,GPU)驱动之上,X窗口系统通过EXA
    驱动实现所有Linux图形系统的2D显卡加速。

    在目前的图形加速方案中,Xserver通过EXA驱动调用GPU执行一次加
    速操作前,会先在用户态空间为EXA驱动分配一段不连续的内存缓冲区来存
    储欲加速的数据,再通过EXA驱动调用GPU在独立显存中分配一段显存缓
    冲区,然后再调用memcpy函数将EXA驱动中的内存缓冲区数据复制到显存
    缓冲区中,通过GPU对数据进行加速操作。

    现有的这种加速方案,在每次调用GPU进行加速操作前都要进行两次缓
    冲区分配操作和大量的memcpy操作,这样延迟了GPU加速操作的执行,使
    得GPU加速效率低下。

    发明内容

    针对现有技术的上述缺陷,本发明提供一种GPU加速方法和装置,用于
    提高GPU加速效率。

    本发明提供一种GPU加速方法,该方法包括:

    通过图形加速结构EXA驱动中的连续物理内存分配函数调用内核中的
    图形处理器GPU驱动,控制GPU为EXA驱动分配一段物理地址连续的缓冲
    区,物理地址连续的缓冲区用于GPU调用以进行数据加速;

    在物理地址连续的缓冲区中填写欲加速的数据;

    通过EXA驱动将物理地址连续的缓冲区的物理地址和相应的加速指令
    提交给GPU驱动,控制GPU对数据进行加速处理。

    在本发明的一实施例中,通过EXA驱动中的连续物理内存分配函数调用
    内核中的GPU驱动,控制GPU为EXA驱动分配一段物理地址连续的缓冲区,
    具体包括:

    通过连续物理内存分配函数进行系统调用来调用GPU驱动,控制GPU
    从图形转换表GTT中分配一段物理地址连续的缓冲区;

    在内核将物理地址连续的缓冲区映射到用户态空间后,存储内核返回的
    物理地址连续的缓冲区的物理地址和物理地址连续的缓冲区对应的用户态程
    序地址。

    在本发明的一实施例中,物理地址连续的缓冲区的物理地址按照GPU硬
    件访问要求对齐,在物理地址连续的缓冲区中填写欲加速的数据,具体包括:
    根据用户态程序地址在对应的物理地址连续且首地址按照GPU硬件访问要
    求对齐的缓冲区中填写欲加速的数据。

    在本发明的一实施例中,连续物理内存分配函数包括用于记录GPU驱动
    设备节点信息的参数、欲分配的缓冲区地址对齐要求的参数、欲分配的缓冲
    区大小的参数、欲分配的缓冲区类型的参数和分配的缓冲区首地址的参数。

    在本发明的一实施例中,EXA驱动包括连续物理内存释放函数;该方法
    还包括:

    通过连续物理内存释放函数进行系统调用来调用内核中的GPU驱动,控
    制GPU从GTT中释放缓冲区。

    在本发明的一实施例中,连续物理内存释放函数包括用于记录GPU驱动
    设备节点信息的参数、分配的缓冲区大小的参数、分配的缓冲区类型的参数
    和分配的缓冲区首地址的参数。

    本发明还提供一种GPU加速装置,包括:

    分配???,用于通过图形加速结构EXA驱动中的连续物理内存分配函数
    调用内核中的图形处理器GPU驱动,控制GPU为EXA驱动分配一段物理地
    址连续的缓冲区,物理地址连续的缓冲区用于GPU调用以进行数据加速;

    填写???,用于在物理地址连续的缓冲区中填写欲加速的数据;

    处理???,用于通过EXA驱动将物理地址连续的缓冲区的物理地址和相
    应的加速指令提交给GPU驱动,控制GPU对数据进行加速处理。

    在本发明的一实施例中,分配???,具体用于:

    通过连续物理内存分配函数进行系统调用来调用GPU驱动,控制GPU
    从图形转换表GTT中分配一段物理地址连续的缓冲区;

    在内核将物理地址连续的缓冲区映射到用户态空间后,存储内核返回的
    物理地址连续的缓冲区的物理地址和物理地址连续的缓冲区对应的用户态程
    序地址。

    在本发明的一实施例中,物理地址连续的缓冲区的物理地址按照GPU硬
    件访问要求对齐,填写??榫咛逵糜冢焊萦没绦虻刂吩诙杂Φ奈锢淼?br />址连续且首地址按照GPU硬件访问要求对齐的缓冲区中填写欲加速的数据。

    在本发明的一实施例中,连续物理内存分配函数包括用于记录GPU驱动
    设备节点信息的参数、欲分配的缓冲区地址对齐要求的参数、欲分配的缓冲
    区大小的参数、欲分配的缓冲区类型的参数和分配的缓冲区首地址的参数。

    在本发明的一实施例中,EXA驱动包括连续物理内存释放函数,装置还
    包括:释放???,释放??橛糜谕ü锢砟诖媸头藕邢低车饔美?br />调用内核中的GPU驱动,控制GPU从GTT中释放缓冲区。

    在本发明的一实施例中,连续物理内存释放函数包括用于记录GPU驱动
    设备节点信息的参数、分配的缓冲区大小的参数、分配的缓冲区类型的参数
    和分配的缓冲区首地址的参数。

    本实施例提供的GPU加速方法和装置,首先通过EXA驱动中的连续物
    理内存分配函数调用内核中的GPU驱动,控制GPU为EXA驱动分配一段物
    理地址连续的缓冲区,然后在缓冲区中填写欲加速的数据后,通过EXA驱动
    将缓冲区的物理地址和相应的加速指令提交给GPU,使GPU对数据进行加
    速处理,省去了一次缓冲区分配操作和大量的memcpy操作,有效的缩短了
    加速指令提交到GPU的时间,提高了GPU加速的效率。

    附图说明

    图1为本发明提供的GPU加速方法实施例一的流程示意图;

    图2为现有技术中GPU加速方法的流程示意图;

    图3为本发明提供的GPU加速方法实施例二的流程示意图;

    图4为本发明提供的GPU加速装置的结构示意图。

    附图标记说明:

    10-分配???;

    20-填写???;

    30-处理???;

    40-释放???。

    具体实施方式

    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发
    明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,
    显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例?;?br />本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获
    得的所有其他实施例,都属于本发明?;さ姆段?。

    本发明实施例涉及的方法和装置可以应用于Linux图形系统以实现图形
    加速,其旨在解决现有技术中图形加速方案中GPU加速效率低的技术问题。

    下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具
    体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例
    不再赘述。

    图1为本发明提供的GPU加速方法实施例一的流程示意图,该方法的执
    行主体可以是GPU加速装置,该装置可以集成在中央处理器(Central
    Processing Unit,CPU)中,实现CPU中Xserver的部分功能;也可以是独立
    的处理设备。如图1所示,本实施例的方法包括:

    步骤S101、通过EXA驱动中的连续物理内存分配函数调用内核中的GPU
    驱动,控制GPU为EXA驱动分配一段物理地址连续的缓冲区。

    具体的,在需要GPU进行图形加速时,CPU中的Xsever可以先调用EXA
    驱动,通过EXA驱动中的连续物理内存分配函数调用CPU内核中的GPU驱
    动,控制GPU为EXA驱动分配一段缓冲区,GPU可以直接访问该缓冲区以
    进行数据加速,其中,该缓冲区可以从共享显存或独立显存中分配,该缓冲
    区的物理地址连续且首地址按GPU硬件访问要求(如要求是64字节,则按
    照64字节)对齐,以保证GPU硬件访问物理地址时的正确性。

    步骤S102、在物理地址连续的缓冲区中填写欲加速的数据。

    在GPU为EXA驱动分配完缓冲区后,Xserver就可以将欲加速的数据填
    入该缓冲区中,以对这些数据进行加速处理。

    步骤S103、通过EXA驱动将物理地址连续的缓冲区的物理地址和相应
    的加速指令提交给GPU驱动,控制GPU对数据进行加速处理。

    Xserver填写完欲加速的数据后,可以再次通过EXA驱动将缓冲区的物
    理地址和相应的加速指令提交给GPU驱动,GPU可以根据该物理地址访问
    该缓冲区,然后再根据加速指令对缓冲区中欲加速的数据进行加速处理。

    现有技术中,如图2所示,在需要GPU进行图形加速时,Xserver会先
    在用户态空间分配一段用户态内存缓冲区(步骤S201),该缓冲区的物理地
    址是不连续的,GPU无法访问,因此,Xserver在缓冲区中填入欲加速的数据
    后(步骤S202),会先通过EXA驱动调用GPU驱动从独立显存中分配一段
    GPU可以访问的物理地址连续的显存缓冲区(步骤S203);再通过EXA驱
    动调用memcpy函数将用户态内存缓冲区中的数据复制到显存缓冲区中(步骤
    S204);然后再通过EXA驱动将显存缓冲区和加速指令提交给GPU驱动,控
    制GPU对数据进行加速处理(步骤S205),这样延迟了GPU加速操作的执
    行,使得GPU加速效率低下,同时还增加了独立显存的需求和CPU的负担。
    本实施例中,Xsever直接通过EXA驱动调用内核中的GPU驱动,使GPU为
    EXA驱动分配一段物理地址连续的缓冲区,用该缓冲区替代现有的物理地址
    不连续的内存缓冲区,该缓冲区是GPU从显存中分配的,其可以直接访问,
    因而在Xsever向缓冲区中填入欲加速的数据后,无需再通过EXA驱动调用
    GPU驱动从独立显存中分配独立显存缓冲区,也不需要再通过memcpy函数
    进行数据复制操作,在EXA驱动向GPU驱动提交缓冲区和加速指令后,GPU
    就可以直接访问该缓冲区的物理地址,进行数据加速处理,从而有效的缩短
    了Linux图形系统加速指令提交到GPU的时间,提高了GPU加速的效率;
    此外,在分配缓冲区时,GPU可以从共享显存中分配,从而也减小了对独立
    显存的需求,同时,无需进行memcpy操作,也有效的减小了CPU的负担。

    本实施例提供的GPU加速方法,首先通过EXA驱动中的连续物理内存
    分配函数调用内核中的GPU驱动,控制GPU为EXA驱动分配一段物理地址
    连续的缓冲区,然后在缓冲区中填写欲加速的数据后,通过EXA驱动将缓冲
    区的物理地址和相应的加速指令提交给GPU,使GPU对数据进行加速处理,
    省去了一次缓冲区分配操作和大量的memcpy操作,有效的缩短了加速指令
    提交到GPU的时间,提高了GPU加速的效率。

    图3为本发明提供的GPU加速方法实施例二的流程示意图,本实施例是
    上述图1所示实施例中步骤S101的具体实现方式。在图1所示实施例的基础
    上,如图3所示,本实施例中步骤S101通过EXA驱动中的连续物理内存分
    配函数调用内核中的GPU驱动,控制GPU为EXA驱动分配一段物理地址连
    续的缓冲区,具体包括:

    步骤S301、通过连续物理内存分配函数进行系统调用来调用GPU驱动,
    控制GPU从GTT中分配一段物理地址连续的缓冲区。

    在为EXA驱动分配缓冲区时,具体可以修改Xserver的EXA接口结构
    体,在EXA驱动中增加连续物理内存分配函数,EXA驱动初始化时可以将
    该函数注册到Xserver中。Xserver需要GPU进行加速时,可以先调用该函数
    在图形转换表(Graphics Translation Table,GTT)中分配所需大小的缓冲区。

    具体的,可以在Xserver代码目录下的exa/exa.h中,修改typedef struct
    _ExaDriver结构体,增加连续物理内存分配函数GPUSurfaceAlloc。

    连续物理内存分配函数具体可以是:

    BOOL GPUSurfaceAlloc(GPUPtr gpuctx,gctUINT alignedSize,gctUINT
    size,gctUINT surfaceMode,GenericSurfacePtr*surface)

    其中,参数gpuctx记录GPU驱动设备节点信息,该设备节点信息作为
    GPU驱动的入口,用于EXA驱动访问GPU驱动;alignedSize记录欲分配的
    缓冲区地址对齐要求;size记录欲分配缓冲区大??;surfaceMode记录欲分配
    缓冲区类型(是从共享显存中分配还是从独立显存中分配);surface指针记
    录分配的缓冲区首地址。

    用户态空间和内核态空间的交互可以通过系统调用实现,Xsever通过连
    续物理内存分配函数分配缓冲区时,该函数可以通过系统调用(例如调用ioctl
    函数)实现对GPU驱动的调用。

    具体的,Xsever调用该函数分配缓冲区时,可以先向该函数传递参数
    gpuctx、alignedSize、size和surfaceMode的值,即确定欲分配的缓冲区的要
    求和GPU驱动的访问入口信息;然后ioctl函数可以根据该入口信息调用GPU
    驱动,驱动GPU为EXA驱动分配满足上述要求的缓冲区。

    步骤S302、在内核将缓冲区映射到用户态空间后,存储内核返回的缓冲
    区的物理地址和缓冲区对应的用户态程序地址。

    GPU从GTT中分配完缓冲区后,内核则将缓冲区映射到用户态空间,以
    将缓冲区的物理地址映射为用户态程序可以识别的虚拟地址,在映射完成后
    即会产生一个用于用户态程序访问的用户态程序地址;分配的缓冲区的物理
    地址和用户态程序地址可以通过ioctl函数返回给物理内存分配函数,Xserver
    保存下来后,即可根据用户态程序地址访问分配的缓冲区,然后将欲加速的
    数据填入该缓冲区中,并且在进行GPU加速时,将保存缓冲区的物理地址提
    交给GPU,以使GPU访问该物理地址对应的缓冲区进行数据加速处理。

    本实施例提供的GPU加速方法,通过改变EXA驱动的架构,在EXA驱
    动中增加连续物理内存分配函数,实现了在GTT中分配GPU可以直接访问
    的缓冲区,从而省去了一次缓冲区分配操作和大量的memcpy操作,有效的
    缩短了加速指令提交到GPU的时间,提高了GPU加速的效率。

    在上述实施例的基础上,在本发明的另一实施例中,在GPU对数据进行
    加速处理后,还可以通过连续物理内存释放函数进行系统调用来调用内核中
    的GPU驱动,控制GPU从GTT中释放缓冲区。

    GPU对数据进行加速处理后,程序返回到Xserver,Xsever可以再次通
    过EXA驱动调用GPU驱动,控制GPU释放上述分配的缓冲区。与上述步骤
    S301类似,可以在EXA驱动中增加连续物理内存释放函数,EXA驱动初始
    化时可以将该函数注册到Xserver中。Xserver需要释放缓冲区时,可以通过
    调用该函数实现。

    具体的,可以在Xserver代码目录下的exa/exa.h中,修改typedef struct
    _ExaDriver结构体,增加连续物理内存释放函数GPUSurfaceFree。

    连续物理内存释放函数具体可以是:

    BOOL GPUSurfaceFree(GPUPtr gpuctx,gctUINT size,gctUINT
    surfaceMode,GenericSurfacePtr*surface)

    其中,参数gpuctx记录GPU驱动设备节点信息;size记录分配的缓冲区
    大??;surfaceMode记录分配的缓冲区类型;surface指针记录分配的缓冲区首
    地址。

    Xsever通过连续物理内存释放函数释放缓冲区时,该函数可以通过系统
    调用(例如调用ioctl函数)实现对GPU驱动的调用。具体的,Xsever调用
    该函数分配缓冲区时,可以根据保存的缓冲区的物理地址先向该函数传递参
    数gpuctx、size、surfaceMode和surface的值,即确定欲释放的缓冲区信息和
    GPU驱动的访问入口信息;然后ioctl函数可以根据该入口信息调用GPU驱
    动,驱动GPU释放所分配的缓冲区。

    本实施例提供的GPU加速方法,通过改变EXA驱动的架构,在EXA驱
    动中增加连续物理内存释放函数,实现了在GTT中释放GPU分配的缓冲区,
    从而提高了GTT中缓冲区的利用率。

    图4为本发明提供的GPU加速装置的结构示意图,本实施例的装置可以
    集成在CPU中,也可以是独立的处理设备。如图4所示,本实施例的装置包
    括:分配???0、填写???0和处理???0,其中,

    分配???0,用于通过EXA驱动中的连续物理内存分配函数调用内核
    中的GPU驱动,控制GPU为EXA驱动分配一段物理地址连续的缓冲区,物
    理地址连续的缓冲区用于GPU调用以进行数据加速;

    填写???0,用于在物理地址连续的缓冲区中填写欲加速的数据;

    处理???0,用于通过EXA驱动将物理地址连续的缓冲区的物理地址
    和相应的加速指令提交给GPU驱动,控制GPU对数据进行加速处理。

    本实施例提供的GPU加速装置,可以执行上述方法实施例,其实现原理
    和技术效果类似,此处不再赘述。

    在上述实施例的基础上,在本发明的一实施例中,物理地址连续的缓冲
    区的物理地址首地址按照GPU硬件访问要求对齐,分配???0,具体用于:

    通过连续物理内存分配函数进行系统调用来调用GPU驱动,控制GPU
    从GTT中分配一段物理地址连续的缓冲区;

    在内核将物理地址连续的缓冲区映射到用户态空间后,存储内核返回的
    物理地址连续的缓冲区的物理地址和物理地址连续的缓冲区对应的用户态程
    序地址。

    填写???0,具体用于根据所述用户态程序地址在对应的物理地址连续
    且首地址按照GPU硬件访问要求对齐的缓冲区中填写欲加速的数据。

    其中,连续物理内存分配函数可以包括用于记录GPU驱动设备节点信息
    的参数、欲分配的缓冲区地址对齐要求的参数、欲分配的缓冲区大小的参数、
    欲分配的缓冲区类型的参数和分配的缓冲区首地址的参数。

    另外,EXA驱动还可以包括连续物理内存释放函数,本实施例的装置还
    可以包括:释放???0,用于通过连续物理内存释放函数进行系统调用来调
    用内核中的GPU驱动,控制GPU从GTT中释放缓冲区。

    其中,连续物理内存释放函数可以包括用于记录GPU驱动设备节点信息
    的参数、分配的缓冲区大小的参数、分配的缓冲区类型的参数和分配的缓冲
    区首地址的参数。

    本实施例提供的GPU加速装置,可以执行上述方法实施例,其实现原理
    和技术效果类似,此处不再赘述。

    最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对
    其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通
    技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,
    或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并
    不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

    关于本文
    本文标题:GPU加速方法和装置.pdf
    链接地址://www.4mum.com.cn/p-6079451.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 北京pk10计划软件免费 云南时时app下载 山东十一选五走势图360 分分快三人工免费计划软件 皇家pk10计划软件 东京28彩计划 江西时时国际娱乐 广东时时开奖现场 遇到长龙 怎么赚的最多 飞艇人工计划和软件计划 福建时时官方 双色球开奖规则 金百博时时彩 买双色球时间 重庆时时综合走势图 内蒙古时时奖金制度