CN107908428A - 一种帧、页同步的gpu图形指令缓冲同步方法 - Google Patents

一种帧、页同步的gpu图形指令缓冲同步方法 Download PDF

Info

Publication number
CN107908428A
CN107908428A CN201711202638.3A CN201711202638A CN107908428A CN 107908428 A CN107908428 A CN 107908428A CN 201711202638 A CN201711202638 A CN 201711202638A CN 107908428 A CN107908428 A CN 107908428A
Authority
CN
China
Prior art keywords
page
ringbuffer
management
modules
write pointer
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.)
Granted
Application number
CN201711202638.3A
Other languages
English (en)
Other versions
CN107908428B (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201711202638.3A priority Critical patent/CN107908428B/zh
Publication of CN107908428A publication Critical patent/CN107908428A/zh
Application granted granted Critical
Publication of CN107908428B publication Critical patent/CN107908428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

本发明属于计算机应用领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。本发明的实现依赖于以下模块:图形API指令处理接口(1)、页管理(2)、ringbuffer管理(3)、ringbuffer IO控制(4)。本发明通过构建Ringbuffer页式管理和虚拟IO管理的方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。

Description

一种帧、页同步的GPU图形指令缓冲同步方法
技术领域
本发明属于软件设计领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。
背景技术
OpenGL、DirectX图形接口标准定义的图形指令同步方式都是强制图形指令执行的帧同步方式,但帧同步方式将图形指令执行与图形指令处理串行执行,影响绘图效率。公开的资料中未发现有关帧、页同步的GPU图形指令缓冲同步方法。
发明内容
本发明的目的是:为了解决现有技术中的问题,本发明通过构建页式管理和ringbuffer虚拟IO管理方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。
本发明的技术方案是:
一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给 ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。
a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;
b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;
c)ringbuffer大小:ringbuffer空间总大小;
d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。
本发明的优点是:本发明提供了一种帧、页同步的GPU图形指令缓冲同步方法,通过构建页式管理和ringbuffer管理方法,减少图形API执行过程中频繁的IO操作,提升图形操作映射效率,降低GPU主机接口通信仲裁开销,提高带宽利用率,图形API执行效率大幅度上升。
附图说明
图1为一种帧、页同步的GPU图形指令缓冲同步方法;
图2为本发明中具体帧、页同步的GPU图形指令缓冲实施方式。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明:
参见图1,一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、 ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给 ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。
a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;
b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;
c)ringbuffer大小:ringbuffer空间总大小;
d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。
具体帧、页同步的GPU图形指令缓冲实施方式如图2所示,绘制一帧时间由为SW和HW的较大时间,在图形API处理过程中仅帧同步或者页同步失败才进行实际IO操作,大大提升了图形API处理性能。

Claims (1)

1.一种帧、页同步的GPU图形指令缓冲同步方法,其特征为:所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。
CN201711202638.3A 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法 Active CN107908428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711202638.3A CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711202638.3A CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Publications (2)

Publication Number Publication Date
CN107908428A true CN107908428A (zh) 2018-04-13
CN107908428B CN107908428B (zh) 2021-09-14

Family

ID=61848843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711202638.3A Active CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Country Status (1)

Country Link
CN (1) CN107908428B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671013A (zh) * 2018-12-12 2019-04-23 中国航空工业集团公司西安航空计算技术研究所 一种支持多gpu的高性能图形指令存储分发方法
CN110888737A (zh) * 2019-11-18 2020-03-17 中国航空工业集团公司西安航空计算技术研究所 一种支持多GPU的Ringbuffer实现系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231619A (zh) * 2008-02-22 2008-07-30 浙江大学 一种基于非连续页的动态内存管理方法
US7623134B1 (en) * 2006-06-15 2009-11-24 Nvidia Corporation System and method for hardware-based GPU paging to system memory
CN101594451A (zh) * 2008-04-14 2009-12-02 株式会社理光 图像处理系统,图像处理方法及存储介质
US20110057938A1 (en) * 2009-09-09 2011-03-10 Advanced Micro Devices, Inc. Variable Frequency Output To One Or More Buffers
CN102200989A (zh) * 2010-03-24 2011-09-28 索尼公司 信息处理设备、信息处理方法和程序
CN103778084A (zh) * 2012-10-23 2014-05-07 扬智科技股份有限公司 储存装置以及其循环缓冲器的存取方法
US20160378674A1 (en) * 2015-06-23 2016-12-29 Ati Technologies Ulc Shared virtual address space for heterogeneous processors
CN106708601A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种面向GPU实现的虚拟IOringbuffer的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623134B1 (en) * 2006-06-15 2009-11-24 Nvidia Corporation System and method for hardware-based GPU paging to system memory
CN101231619A (zh) * 2008-02-22 2008-07-30 浙江大学 一种基于非连续页的动态内存管理方法
CN101594451A (zh) * 2008-04-14 2009-12-02 株式会社理光 图像处理系统,图像处理方法及存储介质
US20110057938A1 (en) * 2009-09-09 2011-03-10 Advanced Micro Devices, Inc. Variable Frequency Output To One Or More Buffers
CN102200989A (zh) * 2010-03-24 2011-09-28 索尼公司 信息处理设备、信息处理方法和程序
CN103778084A (zh) * 2012-10-23 2014-05-07 扬智科技股份有限公司 储存装置以及其循环缓冲器的存取方法
US20160378674A1 (en) * 2015-06-23 2016-12-29 Ati Technologies Ulc Shared virtual address space for heterogeneous processors
CN106708601A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种面向GPU实现的虚拟IOringbuffer的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王海清: "嵌入式GPU硬件加速渲染的纹理传输优化及预取策略研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671013A (zh) * 2018-12-12 2019-04-23 中国航空工业集团公司西安航空计算技术研究所 一种支持多gpu的高性能图形指令存储分发方法
CN109671013B (zh) * 2018-12-12 2023-04-14 中国航空工业集团公司西安航空计算技术研究所 一种支持多gpu的高性能图形指令存储分发方法
CN110888737A (zh) * 2019-11-18 2020-03-17 中国航空工业集团公司西安航空计算技术研究所 一种支持多GPU的Ringbuffer实现系统及方法

Also Published As

Publication number Publication date
CN107908428B (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
US11042297B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
CN107305534B (zh) 同时进行内核模式访问和用户模式访问的方法
CN109558344B (zh) 一种适用于网络传输的dma传输方法及dma控制器
CN101727282B (zh) 一种交互界面动画的实现方法
TWI712951B (zh) 電子存放裝置的任務管理方法、主機和存儲裝置
CN104798063A (zh) 存储设备和主机设备
CN103078958A (zh) 一种基于可缩放矢量图形svg结合富互联网ria的电力scada web方式实时监控复视方法
KR101835604B1 (ko) 메모리를 위한 스케줄러
CN107908428A (zh) 一种帧、页同步的gpu图形指令缓冲同步方法
CN102521178A (zh) 高可靠性嵌入式人机界面及其实现方法
CN110046114B (zh) 基于pcie协议的dma控制器及dma数据传输方法
CN112799840B (zh) 用于传输数据的方法、装置、设备以及存储介质
CN101963947A (zh) 通用序列总线传输转译器及大量传输方法
CN205986931U (zh) 一种基于NVMe SSD的交换机
CN113434087A (zh) 基于共享空间的多核启动方法
CN104598453A (zh) 基于数据缓冲的数据迁移方法
CN109614200A (zh) 一种提取Parallels Desktop虚拟机的hds镜像数据的方法
JP4809166B2 (ja) リモートi/oを構成する計算機システム及びi/oデータ転送方法
CN112711442B (zh) 一种主机命令写入方法、设备、系统及可读存储介质
CN106708601A (zh) 一种面向GPU实现的虚拟IOringbuffer的方法
CN105786449A (zh) 基于图形处理的指令调度方法及装置
CN203241856U (zh) 基于云计算服务的桌面终端
JP6901138B2 (ja) 演算処理装置、情報処理装置及び入出力処理方法
CN109542628A (zh) 一种基于状态机的层次化gpu资源管理系统
CN118170499B (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
GR01 Patent grant
GR01 Patent grant